Father
package zjq.test.initialize; public class Father { static{ System.out.println("父类的静态代码块"); } { System.out.println("父类的非静态代码块"); } public Father(){ System.out.println("父类的无参构造函数"); } public Father(int a){ System.out.println("父类的有参构造函数"); } public static void print(){ System.out.println("父类的静态方法,会重写"); } public static void printFather(){ System.out.println("父类的静态方法"); } } Sun package zjq.test.initialize; public class Sun extends Father{ static{ System.out.println("子类的静态代码块"); } { System.out.println("子类的非静态代码块"); } public Sun(){ System.out.println("子类的无参构造函数"); } public Sun(int a){ System.out.println("子类的有参构造函数"); } public static void print(){ System.out.println("子类的静态方法,重写父类"); } public static void printSun(){ System.out.println("子类的静态方法"); } }
Test
package zjq.test.initialize; public class Test { public static void main(String[] args) { new Sun(); Sun.print(); System.out.println("-----------------"); new Sun(1); } } 结果:父类的静态代码块 子类的静态代码块 父类的非静态代码块 父类的无参构造函数 子类的非静态代码块 子类的无参构造函数 子类的静态方法,重写父类 ----------------- 父类的非静态代码块 父类的无参构造函数 子类的非静态代码块 子类的有参构造函数