public class StaticShunXu { public static void test(){ System.out.println("父类--静态方法"); //被子类的相同方法覆盖 } static { System.out.println("父类--静态代码块"); } public StaticShunXu() { System.out.println("父类--构造函数"); } { System.out.println("父类--非静态代码块"); } }
public class StaticShunXuB extends StaticShunXu{ public static void test(){ System.out.println("子类--静态方法"); } static { System.out.println("子类--静态代码块"); } { System.out.println("子类--非静态代码块"); } public StaticShunXuB() { System.out.println("子类--构造函数"); } }
父类--静态代码块 子类--静态代码块 父类--非静态代码块 父类--构造函数 子类--非静态代码块 子类--构造函数 子类--静态方法
子类和父类之间的静态代码块、静态方法、非静态代码块、构造函数之间的执行关系
原文:https://www.cnblogs.com/heqiyoujing/p/11125819.html