public class B {
static int a = print();
public static int print() {
System.out.println("父類Hello");
return 2;
}
}
public class A extends B {
public static void main(String[] args) {
System.out.println(print());
}
public static int print() {
System.out.println("子类Hello");
return 1;
}
}
运行结果是:
父類Hello
子类Hello
1
截图如下:
说明:类在被加载的时候会对静态属性进行初始化。
因为B是A的子类,所以加载A之前会先加载B,加载B,B中的静态属性a就会被加载,就会调用B中的print()方法。