Java中构造函数、static块、{}块的执行顺序
2016-08-30 20:56
316 查看
测试代码如下:
父类:
子类:
测试类:
测试结果:
结论:
先调用父类的static块,然后调用子类的static块,然后调用父类的{}块、父类的构造函数,然后调用子类的{}块、子类的构造函数。
父类:
public class ParentTest { public ParentTest(){ System.out.println(0); } static{ System.out.println(1); } { System.out.println(2); } }
子类:
public class ChildTest extends ParentTest{ public ChildTest(){ System.out.println(3); } static{ System.out.println(4); } { System.out.println(5); } }
测试类:
public class MainTest { public static void main(String[] args) { new ChildTest(); } }
测试结果:
1 4 2 0 5 3
结论:
先调用父类的static块,然后调用子类的static块,然后调用父类的{}块、父类的构造函数,然后调用子类的{}块、子类的构造函数。
相关文章推荐
- Java static块与构造函数的执行顺序
- [转]关于JAVA中执行static块与构造函数的先后顺序
- java 继承类 变量、静态变量、构造函数执行顺序
- java类运行以及static块的执行顺序
- Java父子类静态代码/非静态代码/构造函数执行顺序
- java 构造函数的执行顺序
- java 构造函数和静态变量的执行顺序
- Java的块,静态块,构造函数,继承的执行先后顺序
- Java中静态块 代码块 构造函数的执行顺序
- Java 静态语句块、语句块、构造函数执行顺序
- 关于Java中静态代码块以及构造函数的执行先后顺序
- Java中构造函数执行顺序的问题
- java中父类与子类构造函数的执行顺序
- java 静态块、非静态块、静态函数、构造函数 执行顺序
- 举例说明java中静态代码块、非静态代码块、构造函数的执行顺序
- static块和构造函数的执行顺序
- 【java】构造函数的继承执行顺序
- java 继承类 变量、静态变量、构造函数执行顺序
- java 继承类 变量、静态变量、构造函数执行顺序
- Java对象的构造过程---子类继承父类时(非)静态块及构造函数等的执行顺序