​​Local class



Локальный класс определяется в блоке кода. Часто объявление происходит в методе другого класса. Но его можно объявить в статических или нестатических блоках инициализации.



• Локальный класс виден в пределах блока, где он объявлен

• Не может быть объявлен как private, public, protected или static

• Не может содержать статические объявления, только константы

• Имеет окружающий их экземпляр только в нестатическом контексте

• Видны все поля и методы внешнего класса обычные и статические (в зависимости от контекста)