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

1.立刻就要考java了,因而刷幾道題,題目不難可是比較基礎,比較細節,其中一道題目以下:java

爲了弄明白那些變量須要提早聲明,我作了以下幾個小測試:測試

測試一:spa

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;code

測試二:對象

 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 }

提示錯誤,不能進行編譯blog

測試三:編譯

 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    0class

由此得出結論:test

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

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

相關文章
相關標籤/搜索