Как известно, локальные классы являются внутренними классами. JLS 14.3Понимание локальных классов в Java
Все локальные классы являются внутренними классами (§8.1.3).
Что внутренний класс является
Внутреннего класс С является прямым внутренним классом класса или интерфейса O, если вывода непосредственно вмещающее объявление типа С и Объявление C не встречается в статическом контексте.
Класс С является внутренним классом класса или интерфейса O, если это либо прямого внутреннего класса O или внутренний класс из внутреннего класса О.
Это означает декларацию внутреннего класса не должно происходить в нестационарном контексте. Но рассмотрим следующую программу:
public static void main (String[] args) throws java.lang.Exception
{
class Foo{ } //occured in the static-context
}
Несмотря на объявленный в статическом контексте declartion из Foo
класса отлично. Хотя невозможно, чтобы внутренний класс был объявлен в статическом контексте.
@Eran It .. – Maroun
какой у вас вопрос? –
Я * думаю * это то, что ОП после, но пинг меня, если он нуждается в повторном открытии. – chrylis