Как получить доступ к члену вложенного класса, который скрыт членом внешнего класса

У меня есть генератор исходного кода, который рискует сгенерировать следующий тип кода (просто пример):

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.Innerможет быть как вложенным классом, так и статическим членом. Похоже, что компиляторы javacи Eclipse не могут разыменовывать Outer.Inner.Help. Как получить доступ к Справке?

Помните, приведенный выше код сгенерирован, поэтому переименование не является (простым) вариантом.

6
задан Lukas Eder 28 May 2012 в 10:40
поделиться