6

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

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
    }
}

在上面的例子中,InnerOuter. Outer.Inner既可以是嵌套类,也可以是静态成员。似乎javacEclipse 和 Eclipse 编译器都无法取消引用Outer.Inner.Help。我怎样才能访问Help

记住,上面的代码是生成的,所以重命名不是一个(简单的)选项。

4

2 回答 2

6

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

public static void main(String[] args) {
    System.out.println(((Inner)null).Help);
}
于 2012-05-28T10:48:20.030 回答
1

怎么样

public static void main(String[] args) {
    System.out.println(new Inner().Help);
}
于 2012-05-28T10:27:58.473 回答