问答详情
源自:8-10 Java 中的 static 使用之静态初始化块

为什么定义对象hello2之后就重新执行了块和方法

http://img.mukewang.com/591ac1c70001022e03640552.jpg

请问为什么最后那行定义了之后就会重新执行一遍

提问者:Singlkae 2017-05-16 17:10

个回答

  • 慕盖茨038235
    2017-05-19 19:14:53
    已采纳

    因为你每new一个新的对象时,类都会重新加载一次,由于静态块在加载的过程中只执行一次,所以当再一次new一个对象的时候,首先执行初始化块中的语句,再执行构造方法。

  • weibo_火柴同学_03160645
    2017-05-16 17:15:21

    每一次new 都是重新创建一个对象(跟你上一次创建的不一样),每次创建对象要进行初始化操作。

    关键点:hello 跟hello2不是同一个对象