Java 允许这样的限定,但是这样的访问可能表明继承和重写之间存在难以捉摸的混淆。
示例:
class Super {
static class Inner {}
}
class Sub extends Super {
void test() {
Sub.Inner s = new Sub.Inner(); // 'Inner' 类在 'Super' 类中声明,但通过 'Sub' 类引用
}
}
在应用快速修复后:
class Super {
static class Inner {}
}
class Sub extends Super {
void test() {
Super.Inner s = new Super.Inner();
}
}