为了账号安全,请及时绑定邮箱和手机立即绑定

如果在构造函数中没有初始化或仅初始化某些字段会发生什么

如果在构造函数中没有初始化或仅初始化某些字段会发生什么

料青山看我应如是 2021-09-29 15:13:43
构造函数的目的是初始化字段的值,设置对象的初始状态。那么如果在构造函数中没有初始化某些字段或所有字段会发生什么?它是否在用户定义的构造函数之前调用了 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。


查看完整回答
反对 回复 2021-09-29
  • 1 回答
  • 0 关注
  • 187 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信