1. 程式人生 > >有關變量的聲明和初始化的問題

有關變量的聲明和初始化的問題

stat 對象實例 實例 [] ima als void img 比較

1.馬上就要考java了,於是刷幾道題,題目不難但是比較基礎,比較細節,其中一道題目如下:

技術分享

為了弄明白那些變量需要提前聲明,我做了如下幾個小測試:

測試一:

1 package priv.xiaomin.test;
2 
3 public class Test {
4     private static boolean test;
5     public static void main(String[] args) {
6         System.out.println(test);
7     }
8 }

測試結果:false;

測試二:

 1 package priv.xiaomin.test;
2 3 public class Test { 4 private static boolean test; 5 public static void main(String[] args) { 6 int a; 7 System.out.println(test); 8 System.out.println(a); 9 } 10 }

技術分享

提示錯誤,不能進行編譯

測試三:

 1 package priv.xiaomin.test;
 2 
 3 public class Test {
 4     private
static boolean test; 5 private int a; 6 public static void main(String[] args) { 7 System.out.println(test); 8 Test m = new Test(); 9 System.out.println(m.a); 10 } 11 }

測試結果:false 0

由此得出結論:

1.類的變量成員,是成員方法體外聲明的變量,在生成對象實例時,系統會自動賦值,而在方法體內聲明的變量,即局部變量,需要由語句顯式地賦初值,否則會產生編譯錯誤。

2.在類的內部,最先初始化靜態成員,靜態成員只在第一次訪問時初始化一次。

有關變量的聲明和初始化的問題