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

初始化块,创建对象

在例题中,当再次创建对象 hello2 时并未执行静态初始化块,我想知道这仅仅是创建对象,并未调用啊,为什么普通初始化块和构造方法还要在执行呢、?

正在回答

2 回答

创建一个对象的过程就包括了调用构造方法

HelloWorld hello2 = new HelloWorld();

hello2是一个对象引用,是使用new操作符构建的一个HelloWorld对象

类名HelloWorld后面是构造函数的参数列表,显然上面的构造函数参数为空

初始化块是在创建对象时对属性初始化(有的话就调用),构造方法是创建对象后对属性初始化(规定,必须调用)

到这里就明白执行顺序是什么了吧

当然是先执行静态代码块,接着执行构造方法

1 回复 有任何疑惑可以回复我~
#1

旗开得胜wds 提问者

非常感谢!
2016-09-16 回复 有任何疑惑可以回复我~
  Hello h = new Hello()

new Hello()就是在调用  无参构造器          类被加载的时候   静态代码块就会被执行

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

初始化块,创建对象

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信