静态成员没有被继承
class A{
static int age = 10;
static{
System.out.println("执行A的类初始化块");
}
}
class B extends A{
static int ageB = 20;
static{
System.out.println("执行B的类初始化块");
}
}
class C extends A{
static int ageC = 30;
static{
System.out.println("执行C的类初始化块");
}
}
class Dtest{
public static void main(String[] args) {
// 这里不会创建C类的内存映像
System.out.println(C.age);
// 这里创建C的内存映像,由于A的内存映像之前已经创建了,所以它没有重新创建
C c1 = new C();
System.out.println(c1.age);
// B继承A,但类A的内存映像之前已经创建了,这里只需要补上B的内存映像
System.out.println(B.ageB);
}
```
**输出**
执行A的类初始化块
10
执行C的类初始化块
10
执行B的类初始化块
20