Статический член во вложенном классе в Java
Я читаю спецификацию языка Java здесь. Здесь написано
- Внутренний класс - это вложенный класс, который не объявлен явно или неявно как статический.
- Внутренние классы включают в себя локальные, анонимные и нестатические классы-члены.
- Внутренние классы могут не объявлять статические инициализаторы или интерфейсы-члены, либо возникает ошибка времени компиляции.
- Внутренние классы могут не объявлять статические члены, если они не являются константными переменными или не происходит ошибка времени компиляции.
Но мой вопрос заключается в том, почему внутренний / вложенный класс не может иметь статических членов и почему возникает ошибка времени компиляции?* Я новичок в Java
1 ответ
Проще говоря, внутренние / вложенные классы не могут иметь static
члены, потому что для доступа к ним вам понадобится экземпляр вложенного класса, который нарушает статичность.