Страницы

Поиск по вопросам

воскресенье, 15 декабря 2019 г.

Зачем нужны статические внутренние классы?

#ооп #java


И когда их выгодно применять? Читал в википедии - так ничего и не понял.    


Ответы

Ответ 1



Они имеют смысл в основном как средство тестирования/отладки. Ну например: в классе может быть только 1 метод main() - точка входа/запуска. А если в вашем классе сделать несколько внутренних статических класса каждый со своим main(): public class My { public static class Test1 { public static void main(String[] args) {} } public static class Test2 { public static void main(String[] args) {} } } То у вас получится 2 точки входа: java My$Test1 java My$Test2 оч. удобно. Ну и плюс сохраняется возможность доступа из внутреннего класса к приватным членам внешнего класса.

Ответ 2



Внутренний класс делают статическим для разделения логики, чтобы он не имел прямого доступа к инстанс методам и полям внешнего класса(без создания объекта внешнего класса).

Комментариев нет:

Отправить комментарий