2016-03-23 57 views
0
public class Test{ 
int i; 
Test(){ 
    System.out.println(i); 
} 
public static void main(String[] args){ 
    Test obj=new Test(); 
    } 
} 

輸出= 0爲什麼以及如何通過Java中的構造函數初始化實例變量進行初始化?

P.S:我在Java的幼稚所以這個問題可能是非常愚蠢的。我期待你的支持。謝謝

+0

這就是Java定義*的方式。閱讀JLR - Java語言參考 - 瞭解詳細信息。 –

+0

int的默認值是0 – Abdelhak

+0

當您將int聲明爲「字段」(類變量)時,它會自動使用值「0」進行初始化,但當屬於其他方法時,爲「null」 –

回答

1

編譯器會將未初始化的靜態/實例字段設置爲默認值。

表波紋管指示數據類型的默認值:

+--------------------------+----------------------------+ 
|  Data Type   | Default Value (for fields) | 
+--------------------------+----------------------------+ 
| byte      | 0       | 
| short     | 0       | 
| int      | 0       | 
| long      | 0L       | 
| float     | 0.0f      | 
| double     | 0.0d      | 
| char      | '\u0000'     | 
| String (or any object) | null      | 
| boolean     | false      | 
+--------------------------+----------------------------+ 

欲瞭解更多信息,可以看到該文檔here

+0

@GauravDave,謝謝你的反饋。 – nnunes10

1

見,每Instance-Variable or Class-Variable通過它初始化的default value

如果實例變量是一些引用類型,那麼它將是 始終分配它的默認值爲null

所以,在這裏,你的情況是int原始類型,其default0(zero)這就是你的了,把得到0的原因。

相關問題