问答详情
源自:8-7 Java 中的 static 使用之静态变量

为什么初始化块不是最先执行了

package No006a;


public class No006s {

int Screen;

double sCpu;

//创建无参的构造方法:

public No006s() {

System.out.println("无参的构造方法");

}

//创建有参的构造方法:

public No006s(double NewScreen,int NewsCpu) {

Screen=NewsCpu;

sCpu=NewScreen;

System.out.println("有参数的构造方法执行了");

}

//创建初始化块:

{System.out.println("初始化块执行了");}

}

--------------------------------------------------------------------------------------------------------------------

package No006a;


public class No006c {

public static void main(String[] args) {

No006s banb=new No006s();

No006s banb2=new No006s(2.61,90);

}

}

-----------------------------------------------------------------------------------------------------------------------

为什么只执行无参或者只执行有参的构造方法的时候都是先执行初始化块

一旦他们一块执行就会变成先执行我无参的构造方法 然后初始化块 最后有参的构造方法

提问者:Dusdii 2019-02-12 22:02

个回答

  • MuggleDream
    2019-02-12 22:24:50
    已采纳

    //我用你的代码测试了,都会先执行初始化代码块
    初始化块执行了
    无参的构造方法
    初始化块执行了
    有参数的构造方法执行了
    你可以能是显示问题,建议在CMD中测试一下