Что такое модификаторы доступа в Java

6 ott 2022 2 min di lettura
Что такое модификаторы доступа в Java
Indice dei contenuti

Введение

Модификатор доступа — это особый тип объявления переменной, который определяет, как и где другой код может использовать объявленный класс, переменную или метод. В этой статье мы объясним, что такое модификаторы доступа, а также три различных уровня видимости для классов, методов и переменных с некоторыми практическими примерами.

Понимание объема кода необходимо для написания понятных и управляемых программ. Модификаторы доступа — один из способов добиться этого. Они сообщают другим пользователям вашего кода, как вы хотите, чтобы они взаимодействовали с определенными методами или переменными. Если вы новичок в программировании на 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 - класс, который содержит переменную/метод и любые производные от него классы. класс, метод или переменная определяют, могут ли и как другие методы или классы взаимодействовать с ним. Это называется инкапсуляцией и является одним из краеугольных камней объектно-ориентированного программирования. И теперь, когда вы знаете, что такое модификаторы доступа и как они работают, вы можете использовать их в своем коде, чтобы сделать его более читабельным и управляемым.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.