Java 父类与子类初始化块,静态块,构造函数执行顺序
2017-09-18 11:07
477 查看
被static修饰的变量,块,方法都是会在类被加载的时候就会执行,而且是先与构造函数执行。
所以,父类与子类的各初始化块,静态块,构造函数执行顺序为:
1.父类静态块
2.父类静态变量
3.子类静态块
4.子类静态变量
5.父类初始化块
6.父类构造函数
7.子类初始化块
8.子类构造函数
public class A { { System.out.println("A 初始化块"); } static{ System.out.println("A 静态块"); } private static Integer integer=getInteger(); public A(){ System.out.println("A 构造函数"); } public static Integer getInteger() { System.out.println("A 初始化静态变量"); return 10000; } public void getA() { System.out.println("A 的普通函数"); } } public class B extends A{ { System.out.println("B 初始化块"); } static{ System.out.println("B 静态块"); } private static Integer integer=getInteger(); public B(){ System.out.println("B 构造函数"); } public static Integer getInteger() { System.out.println("B 初始化静态变量"); return 10000; } public void getB() { System.out.println("B 的普通函数"); } } import java.io.BufferedReader; import java.io.InputStreamReader; public class Test { public static void main(String []ags) throws Exception{ A a=new B(); } }
所以,父类与子类的各初始化块,静态块,构造函数执行顺序为:
1.父类静态块
2.父类静态变量
3.子类静态块
4.子类静态变量
5.父类初始化块
6.父类构造函数
7.子类初始化块
8.子类构造函数
相关文章推荐
- Java对象的构造过程---子类继承父类时(非)静态块及构造函数等的执行顺序
- Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序
- java父类子类静态块、块、构造方法的执行顺序
- java父类子类中静态块非静态块构造方法的执行顺序和继承
- java中父类与子类构造函数的执行顺序
- java继承中父类和子类静态、非静态代码块,构造函数,静态方法的执行顺序
- Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序
- Java的初始化块、静态初始化块、构造函数的执行顺序及用途
- java的静态属性,静态块,构造函数的执行顺序
- java中父类和子类中的静态代码块、非静态代码块和构造器的执行顺序
- static,构造函数,子类,父类执行顺序
- java的初始化块、静态初始化块、构造函数的执行顺序及用途探究
- Java基础 静态块、非静态块、构造函数的执行顺序
- [C#]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- java静态块,普通块,构造函数的执行顺序
- JAVA中静态代码块、构造方法、Super()父类与子类之间执行顺序
- 子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
- JAVA中父类与子类静态代码块、非静态代码块、构造函数的加载顺序
- Java子类与父类的初始化,父类子类內部程序的执行顺序