对于静态字段,只有直接定义这个字段的类才会被加载,因此通过其子类来引用父类中定义的静态字段,只会触发父类的加载而不会触发子类的加载
一:创建Java工程
略
二:创建父类Animal.java
public class Animal {
public static String name = "Animal";
static {
System.out.println("loading Animal.class");
}
}
三:创建子类Cat.java
public class Cat extends Animal{
static {
System.out.println("loading Cat.class");
}
}
四:创建测试类Test.java
public class Test {
public static void main(String[] args) {
System.out.println(Cat.name);
}
}
五:查看控制台输出
可以看到子类Cat.class并没有被加载,而是加载了父类Animal.class。