Вложенные классы позволяют логически группировать классы, повышать инкапсуляцию и читаемость кода.
Особенности:
Различия между статическими и внутренними вложенными классами:
| Характеристика | Статический вложенный класс (static nested class) | Внутренний класс (inner class) |
|---|---|---|
| Доступ к членам внешнего класса | Только к статическим членам | Ко всем членам (статическим и нестатическим) |
| Создание экземпляра | Не требует экземпляра внешнего класса | Требует экземпляра внешнего класса |
Использование this | Нет доступа к this внешнего класса | Имеет доступ к this внешнего класса (через OuterClass.this) |
| Синтаксис определения | С ключевым словом static | Без ключевого слова static |
Примеры:
java
java