顺序:
父类的静态,子类静态,父类非静态,父类构造方法,子类非静态,子类构造方法。
public class A {
static String name = "cjj";
int age = 22;
public A() {
System.out.println(name +" "+ age);
} public static void main(String[] args) {
B b = new B();
}
} class B extends A{
static String name = "lnn";
int age = 21;
public B() {
System.out.println(name +" "+ age);
}
}
运行结果:
cjj 22
lnn 21
原理:
类在加载的时候,先加载父类,再加载子类。加载父类的时候,先加载父类的静态成员,再加载子类的静态成员,再加载父类的非静态成员和构造方法,最后加载子类的非静态成员和构造方法。