public class Ex
{
int a;
public Ex()
{
System.out.println("a is "+a);
}
}
Run Code Online (Sandbox Code Playgroud)
输出为:a为0
初始化的地方......
我知道int的默认值是零.我的问题是它在哪里被初始化...通过默认构造函数?(我听说默认构造函数是在我们没有提到类中的任何构造函数时创建的)
其默认值为0.
来自The Java™Tutorials - 原始数据类型 - 默认值:
声明字段时并不总是需要分配值.声明但未初始化的字段将由编译器设置为合理的默认值.
Run Code Online (Sandbox Code Playgroud)????????????????????????????????????????????????????????? ? 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 ? ?????????????????????????????????????????????????????????
| 归档时间: |
|
| 查看次数: |
1120 次 |
| 最近记录: |