2015-02-04 2 views
2

Когда я пытаюсь создать новый класс Java в Eclipse, в разделе «Модификаторы» параметр static отображается как отключенный. Почему это?Статический параметр отключен при создании нового класса Java в Eclipse

+3

Класс верхнего уровня не может быть * статическим *., Вот почему – TheLostMind

ответ

6

static модификатор означает члена (будь то поле, метод или внутренний класс) принадлежит к классу вместо того, чтобы к конкретному примеру из него. Класс верхнего уровня не принадлежит ни к чему (он не относится к другому классу), и поэтому не может быть static. Только внутренний класс может быть static.

+0

@ Saik0 Я отредактировал свой ответ, надеюсь, теперь он яснее. – Mureinik

+0

Чистое, как кристалл @Mureinik. Благодаря! – saikosen

+1

@ Saik0 - Еще один момент, который следует отметить: * статический вложенный класс поведенчески является классом верхнего уровня, который был вложен в другой класс верхнего уровня для удобства упаковки. * Check [oracle docs] (http: // docs. oracle.com/javase/tutorial/java/javaOO/nested.html) – TheLostMind

0

Только внутренние классы могут быть статическими.

public class Foo { 
    public static class Bar {} 
} 
0

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

1

Класс верхнего уровня может быть общественностью или по умолчанию (специфичный для пакета). внутренний класс может быть общественного, по умолчанию, защищенных, частного, статического.

Смежные вопросы