Введение
Модификатор доступа — это особый тип объявления переменной, который определяет, как и где другой код может использовать объявленный класс, переменную или метод. В этой статье мы объясним, что такое модификаторы доступа, а также три различных уровня видимости для классов, методов и переменных с некоторыми практическими примерами.
Понимание объема кода необходимо для написания понятных и управляемых программ. Модификаторы доступа — один из способов добиться этого. Они сообщают другим пользователям вашего кода, как вы хотите, чтобы они взаимодействовали с определенными методами или переменными. Если вы новичок в программировании на Java, поначалу эти понятия могут показаться запутанными; однако, будучи понятыми, они становятся намного яснее. Читайте дальше, чтобы узнать больше о модификаторах доступа в Java.
Модификаторы доступа в Java
Модификаторы доступа — это специальные ключевые слова, которые позволяют указать, как другой код может взаимодействовать с определенными методами или переменными внутри классов. Как и многие концепции программирования, модификаторы доступа на практике просты, но поначалу могут показаться запутанными. Как только вы их поймете, они помогут вам сделать ваш код более читабельным и управляемым.
В Java существует четыре различных типа модификаторов доступа:
- Частный: закрытый член доступен в классе.
- По умолчанию: член без модификатора доступа также известен как package-private. Который доступен только внутри классов в том же пакете.
- Защищенный: Защищенный член доступен во всех классах одного и того же пакета и подклассах других пакетов.
- Публичный: публичный член доступен везде.
Модификатор частного доступа
Член с закрытым доступом доступен внутри объявленного класса. Ошибка времени компиляции произойдет, когда другой класс попытается получить к нему доступ.
Давайте разберемся на примере: создайте класс под названием « One
», и объявите приватную переменную « i
» со значением по умолчанию. Теперь создайте метод showData()
с доступом по умолчанию в том же классе, который печатает значение переменной.
Теперь создайте еще один класс « Noviello
» с помощью метода main()
. Создайте объект класса One и попробуйте вывести переменную «i». Поскольку переменная «i» объявлена закрытой, компилятор java выдаст ошибку. Закомментируйте предыдущую строку и вызовите метод showData. Это правильно напечатает значение «i», поскольку метод также объявлен в том же классе:
class One{
private int i = 10;
void showData(){
System.out.println(i);
}
}
class Noviello{
public static void main(String args[]){
One obj = new One();
System.out.println(obj.i); //Compilation error
//Comment above line to test the next line code
obj.showData(); //Successfully run
}
}
Вывод
Основное различие между каждым уровнем видимости заключается в том, кто может получить к нему доступ: - public - все, private - только класс, который содержит переменную/метод, protected - класс, который содержит переменную/метод и любые производные от него классы. класс, метод или переменная определяют, могут ли и как другие методы или классы взаимодействовать с ним. Это называется инкапсуляцией и является одним из краеугольных камней объектно-ориентированного программирования. И теперь, когда вы знаете, что такое модификаторы доступа и как они работают, вы можете использовать их в своем коде, чтобы сделать его более читабельным и управляемым.