父类的静态变量赋值---》父类的静态代码块---》子类的静态变量赋值--》子类的静态代码块--》父类的非静态变量赋值--》父类的非静态代码块--》父类的构造函数--》子类的非静态变量赋值--》子类的非静态代码块--》子类的构造函数。
public class Test5 { public static void main(String[] args) { Cat cat = new Cat(); } } class Animal{ public static String name="父类"; public String sex = "雄性"; static { System.out.println("我是父类的静态代码块,现在静态变量已被赋值为:"+name); } { System.out.println("我是父类的非静态代码块,现在非静态变量已经被赋值为:"+sex); } public Animal() { System.out.println("我是父类的构造函数"); } } class Cat extends Animal{ public static String s_name = "子类"; public String age = "17岁"; static { System.out.println("我是子类的静态代码块,现在我的静态变量已经被赋值为:"+s_name); } { System.out.println("我是子类的非静态代码块,现在我的非静态变量已被赋值为:"+age); } public Cat() { System.out.println("我是子类的的构造函数"); } }
运行结果;