Модификаторы доступа
Last updated
Last updated
Java предоставляет ряд , чтобы задать уровни доступа для классов, переменных, методов и конструкторов. Существует четыре доступа:
Видимый в пакете (стоит по умолчанию и модификатор не требуются).
Видимый только для класса (private).
Видимый для всех (public).
Видимый для пакета и всех подклассов (protected).
Следующие правила в Java применяются для унаследованных методов:
Методы, объявленные как public в суперклассе, также должны быть public во всех подклассах.
Методы, объявленные как protected в суперклассе, должны либо быть либо protected, либо public в подклассах; они не могут быть private.
Методы, объявленные как private для всех не наследуются, так что нет никакого правила для них.
Если переменная или метод не помечены никаким модификатором, то считается, что они помечены «модификатором по умолчанию». Переменные или методы с таким модификатором (т.е. вообще без какого-нибудь) видны всем классам пакета, в котором они объявлены. И только им. Этот модификатор еще иногда называют «package», намекая, что доступ к переменным и методам открыт для всего пакета, в котором находится их класс
Есть способ, чтобы легко запомнить эту таблицу. Представь себе, что ты составляешь завещание и делишь все вещи на четыре категории. Кто может пользоваться твоими вещами?