Может ли класс или интерфейс верхнего уровня иметь модификатор «static»? - PullRequest
2 голосов
/ 23 ноября 2011

Может ли класс или интерфейс верхнего уровня быть объявлен как статический?

Пример:

// File A.java
static Class A
{
    ...
}

Ответы [ 5 ]

5 голосов
/ 23 ноября 2011

Нет. static применяется только к вложенным классам и говорит о том, что экземплярам вложенного класса не требуется экземпляр экземпляра окружающего класса. Как таковой, он не имеет смысла применительно к высшим классам.

3 голосов
/ 23 ноября 2011

Нет, классы верхнего уровня не могут быть объявлены статическими;см. JLS, раздел 8.1.1 .

Не все модификаторы применимы ко всем видам объявлений классов ... Статический модификатор доступа относится только к классам-членам ...

0 голосов
/ 23 ноября 2011

В принципе, вы можете создать статический внутренний класс, но не класс верхнего уровня (внешний). Я думаю, что этот пост получит лучшее объяснение.http://www.javaworld.com/javaworld/javaqa/1999-08/01-qa-static2.html надеюсь, это поможет

0 голосов
/ 23 ноября 2011

В Java класс верхнего уровня не может быть определен как статический.

читать это

0 голосов
/ 23 ноября 2011

Все классы верхнего уровня по умолчанию являются статическими.

Для тех, кто слишком увлечен определением статики и ошибками компилятора.

Сам класс является объектом с областью применения. Так что это неявно статично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...