继承关系执行顺序
2018-10-29 14:44
86 查看
继承关系下静态代码块,非静态代码块,构造方法的执行顺序
public class Father{ static{ System.out.println("父类的静态代码块"); } { System.out.println("父类的非静态代码块"); } public Father(){ System.out.println("父类的构造方法"); } } public class Son extends Father{ static{ System.out.println("子类的静态代码块"); } { System.out.println("子类的非静态代码块"); } public Son(){ System.out.println("子类的构造方法"); } public static void main(String[] args){ new Son(); new Son(); } } //执行结果: 父类的静态代码块 子类的静态代码块 父类的非静态代码块 父类的构造方法 子类的非静态代码块 子类的构造方法 父类的非静态代码块 父类的构造方法 子类的非静态代码块 子类的构造方法 结论: 1.静态代码块和非静态代码块都会优先于构造方法先执行,执行顺序:静态代码块-->非静态代码块-->构造方法 2.静态代码块只会随着类的加载而加载唯一一次,非静态代码块会被加载多次 3.父类构造会优先于子类构造先执行阅读更多
相关文章推荐
- 包含继承关系的Java程序执行顺序(代码实例)
- java 继承关系中-执行顺序测试
- java 继承关系中-执行顺序测试
- C#中两个类之间有继承关系时的执行顺序~
- 继承关系中,代码执行的顺序。静态代码块、静态方法、构造方法
- JAVA继承关系中静态代码块、非静态代码块的执行顺序
- java继承关系中的代码执行顺序
- 继承关系中,静态语句块,非静态语句块,和构造函数执行顺序问题。
- JAVA继承关系中静态代码块、非静态代码块,构造函数的执行顺序
- 一个关于继承关系中静态快、成员变量、构造体代码的执行顺序的Java代码
- C#中两个类之间有继承关系时的执行顺序~
- 关于Java中由继承关系的类对象的内容的执行顺序
- 【Java继承学习笔记系列】在继承关系下构造函数执行时的顺序
- java继承关系中静态代码块、非静态代码块的执行顺序
- JAVA继承关系中父类子类代码执行顺序
- java中子类继承父类程序执行顺序
- JAVA 继承 构造函数的执行顺序
- 静态块 和构造器在继承情况下执行顺序
- 继承下构造函数的执行顺序
- 浅谈静态字段与静态构造函数之间的初始化关系以及执行顺序