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

初始化块,创建对象

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

提问者:旗开得胜wds 2016-09-07 09:39

个回答

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

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

    HelloWorld hello2 = new HelloWorld();

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

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

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

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

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

  • 慕盖茨6533054
    2016-09-07 10:02:37

      Hello h = new Hello()

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