您的位置:首页 > 编程语言 > Java开发

Java static代码执行顺序

2016-09-01 11:40 323 查看
public class Test {
public Test() {
System.out.println("construct of Test");
}

static {
System.out.println("static of Test");
}

{
System.out.println("Test");
}

static class B extends Test {
public B() {
System.out.println("construct of B");
}

static {
System.out.println("static of B");
}
{
System.out.println("B");
}
}

public static void main(String[] args) {
B b = new B();
}

}


子类B继承父类Test,B b = new B();则各个代码的执行顺序为:

父类静态代码块->子类静态代码块->父类非静态代码块->父类构造函数->子类非静态代码块->子类构造函数

该程序打印结果为:

static of Test

static of B

Test

construct of Test

B

construct of B
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: