2016-03-23 56 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的原因。

相关问题