Какой правильный синтаксис для статических вложенных классов, соотв.почему неправильный синтаксис работает в одном случае и не работает в другом случае? - PullRequest
2 голосов
/ 19 июня 2011

http://download.oracle.com/javase/tutorial/java/javaOO/nested.html говорит, что статические вложенные классы должны быть доступны следующим образом:

OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();

В моем проекте я сделал объявление класса

class MyClass extends StaticNestedClass

(поэтому я получил доступ к статическому вложенному классу без имени класса внешнего класса), и это сработало.

Затем я передал это в Subversion и проверил этот проект на другом компьютере, а затем он не работал. Мне нужно было получить доступ к StaticNestedClass с его полным именем (OuterClass.StaticNestedClass). Почему это работает в первом случае, а не во втором? И это должно работать или не работать?

Единственное существенное отличие состоит в том, что на первом компьютере я использую Eclipse Galileo, а на втором я использую Eclipse Helios. Оба используют компилятор 1.6, и при проверке всего проекта с помощью subversion проекты должны быть равны.

1 Ответ

0 голосов
/ 09 октября 2011

Я проверял это с разными версиями Eclipse (3.5.2, 3.6, 3.7). Этот неправильный синтаксис работает только в Galileo 3.5.2, поэтому эта проблема относится к затмению, а не к subversion, android или java.

...