初始化块,创建对象

来源:8-10 Java 中的 static 使用之静态初始化块

旗开得胜wds

2016-09-07 09:39

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

写回答 关注

2回答

  • JustWannaHugU
    2016-09-07 13:16:29
    已采纳

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

    HelloWorld hello2 = new HelloWorld();

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

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

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

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

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

    旗开得胜wd...

    非常感谢!

    2016-09-16 11:47:56

    共 1 条回复 >

  • 慕盖茨6533054
    2016-09-07 10:02:37
      Hello h = new Hello()

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

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530556 学习 · 6091 问题

查看课程

相似问题