父类的静态变量赋值---》父类的静态代码块---》子类的静态变量赋值--》子类的静态代码块--》父类的非静态变量赋值--》父类的非静态代码块--》父类的构造函数--》子类的非静态变量赋值--》子类的非静态代码块--》子类的构造函数。
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("我是子类的的构造函数");
}
}
运行结果;