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();
}
}