次のタイプのコードを生成するリスクのあるソースコードジェネレーターがあります(単なる例)。
public class Outer {
public static final Object Inner = new Object();
public static class Inner {
public static final Object Help = new Object();
}
public static void main(String[] args) {
System.out.println(Outer.Inner.Help);
// ^^^^ Cannot access Help
}
}
上記の例でInnerは、は。の内部であいまいに定義されていOuterます。Outer.Innerネストされたクラスと静的メンバーの両方にすることができます。javacとEclipseコンパイラの両方が逆参照できないようOuter.Inner.Helpです。どうすればアクセスできますHelpか?
上記のコードが生成されるため、名前の変更は(単純な)オプションではないことを忘れないでください。