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

这里的HelloWorld hello=new HelloWorld();不是创建类的对象hello吗,为什么上边的代码会被执行?

https://img4.mukewang.com/5d0346980001d75f06440155.jpg为什么创建类的对象的时候会执行代码?

提问者:马里奥奥德赛 2019-06-14 15:04

个回答

  • Felix_Sun
    2019-07-30 14:51:15

    Java就是这样的,类似于一种默认的规则,只要new一个对象的时候,就会先执行初始化代码块,初始化代码块又是静态的优先级最高,其次按照压栈一样的规则,先进后出,所以代码块除了先执行静态代码块之后,其他的普通代码块就 按照先进后出的规则执行。我只是打一个比方,感觉这样容易理解,希望能帮到你。

  • weixin_慕圣9399307
    2019-07-13 16:17:36

    创建对象时对象里的初始化同时被执行了。

  • 北程1989
    2019-06-14 15:49:19

    因为创建对象的时候会默认执行初始化块和构造函数