Java语言规范中的一个例子:
class Super { static int taxi = 1729; } class Sub extends Super { static { System.out.println("Sub"); } } public class Test { public static void main(String[] args) { System.out.println(Sub.taxi); } }
结果:1729
注意:taxi实际在Super类中声明,虽然Sub.taxi使用Sub类型来引用,但实际引用的是Super类中的taxi,因此这个语句不会导致Sub类的初始化。本例中只初始化了Super类。