父类,子类,静态属性,静态代码块,构造代码块,构造函数,执行顺序
2017-09-10 17:33
405 查看
1 package demo; 2 //父类 3 public class FatherClass { 4 5 private static String strFather="父类静态属性----1"; 6 7 static{ 8 System.out.println("父类静态代码块----1"); 9 } 10 11 { 12 System.out.println("父类构造代码块----3"); 13 } 14 15 public FatherClass(){ 16 System.out.println("父类构造器----4"); 17 } 18 }
1 package demo; 2 //子类 3 public class ChildClass extends FatherClass{ 4 5 private static String childFather="子类静态属性----2"; 6 7 static{ 8 System.out.println("子类静态代码块----2"); 9 } 10 11 { 12 System.out.println("子类构造代码块----5"); 13 } 14 15 public ChildClass(){ 16 System.out.println("子类构造器----6"); 17 } 18 }
1 package demo; 2 3 public class ShunXu { 4 /** 5 * 父类,静态属性,静态代码块,构造代码块,构造函数, 6 * 子类,静态属性,静态代码块,构造代码块,构造函数 7 * 的执行顺序 8 */ 9 public static void main(String[] args) { 10 ChildClass child = new ChildClass(); 11 } 12 /** 13 * 父类静态代码块----1 14 * 子类静态代码块----2 15 * 父类构造代码块----3 16 * 父类构造器----4 17 * 子类构造代码块----5 18 * 子类构造器----6 19 */ 20 }
分析结果可以得到如下加载执行顺序结论:
1.加载父类的静态属性和静态代码块。
2.加载子类的静态属性和静态代码块。
3.加载父类的非静态属性和非静态代码块。
4.加载父类的构造方法。
5.加载子类的非静态属性和非静态代码块。
6.加载子类的构造方法。
注:
1.静态属性和静态代码块是在类加载的时候就加载执行,执行顺序与代码顺序相同。
2.非静态属性和非静态代码块是在类创建实例的时候执行,优先于构造方法,执行顺序与代码顺序相同。
相关文章推荐
- 子类,父类静态代码块,构造代码块,以及构造函数执行顺序
- 关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:
- 【JAVA】探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- Java类中子类和基类的构造代码块,静态代码块、子类构造函数,基类构造函数的执行顺序
- 父类 子类 动态代码块 静态代码块 构造函数 执行顺序
- java继承中父类和子类静态、非静态代码块,构造函数,静态方法的执行顺序
- Java子类继承父类,静态代码块、普通代码块、构造代码块的执行顺序
- Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序
- JAVA中静态代码块、构造方法、Super()父类与子类之间执行顺序
- 父类子类构造方法、静态代码块、非静态代码块的执行顺序
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- 父类和子类静态代码块、非静态代码块、构造函数(方法)执行的先后顺序问题
- Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序
- java中父类的静态代码块,非静态代码块,构造方法,子类的静态代码块,构造方法等先后执行顺序
- 子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
- 继承中,父类与子类都有静态代码块和构造函数的时执行顺序
- 子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
- 父类与子类的静态代码块、代码块、构造方法执行顺序
- Java继承中父类子类构造方法、静态代码块、非静态代码块的执行顺序
- 父类子类静态代码块,构造方法的执行顺序