Статический член во вложенном классе в Java

Я читаю спецификацию языка Java здесь. Здесь написано

  1. Внутренний класс - это вложенный класс, который не объявлен явно или неявно как статический.
  2. Внутренние классы включают в себя локальные, анонимные и нестатические классы-члены.
  3. Внутренние классы могут не объявлять статические инициализаторы или интерфейсы-члены, либо возникает ошибка времени компиляции.
  4. Внутренние классы могут не объявлять статические члены, если они не являются константными переменными или не происходит ошибка времени компиляции.

Но мой вопрос заключается в том, почему внутренний / вложенный класс не может иметь статических членов и почему возникает ошибка времени компиляции?* Я новичок в Java

1 ответ

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

Другие вопросы по тегам