如何访问由外部类的成员隐藏的嵌套类的成员

Luk*_*der 6 java inner-classes ambiguous

我有一个源代码生成器,有可能生成以下类型的代码(只是一个例子):

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
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,Inner内部含糊不清Outer.Outer.Inner既可以是嵌套类,也可以是静态成员.似乎两个javac和Eclipse编译器都不能解除引用Outer.Inner.Help.我怎样才能访问Help

请记住,上面的代码是生成的,因此重命名事物不是(简单)选项.

NPE*_*NPE 6

以下对我有用(带有关于以非静态方式访问静态成员的警告):

public static void main(String[] args) {
    System.out.println(((Inner)null).Help);
}
Run Code Online (Sandbox Code Playgroud)