构造函数的目的是初始化字段的值,设置对象的初始状态。那么如果在构造函数中没有初始化某些字段或所有字段会发生什么?它是否在用户定义的构造函数之前调用了 JVM 提供的默认构造函数?那么,在这个例子中,会输出什么?class Name{ int x; boolean y; Name(){ // no initialize } public static void main(){ Name n = new Name(); System.out.println(n.x + ", " + n.y); } }
1 回答
白衣染霜花
TA贡献1796条经验 获得超10个赞
类级字段(实例或静态字段)获得分配给它们的默认值。这意味着如果构造函数或实例(或静态)初始化块没有显式初始化这些字段,则将保留默认值。
在你的情况下:
class Name{
int x; //default value for int is 0
boolean y; //default value for boolean is false
换句话说,你的输出应该是 0, false
这个问题有关于原始类型的实际默认值的详细信息。对于 Object 数据类型,默认值为null。
添加回答
举报
0/150
提交
取消