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

Слово модификаторы доступа может показаться или подумать, что это концепция, но модификаторы доступа — это некоторые специальные ключевые слова, которые мы используем при написании программ. Java имеет два типа модификаторов: модификаторы доступа и модификаторы отсутствия доступа.

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

Объем статьи

  • В этом мы прочитаем обо всех четырех ключевых словах модификаторов доступа в Java с соответствующими примерами и увидим, как реализовать каждый из них в java.
  • В этой статье мы также прочитаем о модификаторах доступа Java с переопределением методов.
  • С дополнительными примерами и кодом мы увидим, как реализовать модификаторы доступа в java.

Введение

Модификаторы доступа в java определяют видимость или область действия программной сущности, такой как класс, метод, переменная или конструктор, а модификаторы без доступа используются для определения поведения сущности.

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

Модификаторы доступа важны, так как с помощью модификаторов доступа мы можем получить доступ к другим классам, методам или переменным. Используя модификаторы доступа, мы также можем ограничить доступ к различным классам, методам, конструкторам и переменным, а также обеспечить инкапсуляцию и возможность повторного использования java-сущностей.

Теперь давайте прочитаем о типах модификаторов доступа в java. Таким образом, в Java в основном существует четыре типа модификаторов доступа: в основном это закрытый, стандартный, защищенный и общедоступный. Это четыре ключевых слова модификаторов доступа в java.

Теперь давайте прочитаем о каждом из четырех методов с помощью соответствующих примеров и пояснений в java:

  • Частный
  • Общественный
  • Защищено
  • По умолчанию

Во-первых, давайте прочитаем ключевое слово private в java:

Модификатор закрытого доступа в Java

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

Внешние члены класса не могут получить доступ к закрытым членам. Классы и интерфейсы не могут быть закрытыми. Любой другой класс того же пакета не сможет получить доступ к этим членам.

Все классы или интерфейсы верхнего уровня не могут быть объявлены как частные, потому что слово «частный» означает «видимые только в охватывающем классе», а слово «защищенный» означает «те свойства, которые видны только в охватывающем классе и любых подклассах». не относится к классам высшего уровня.

Теперь давайте посмотрим на пример в java, чтобы понять концепцию модификатора закрытого доступа в java:

открытый класс вычислить {

// здесь мы объявили его с модификатором доступа private

частное строковое имя;

}

общественный класс Основной {

public static void main(String[] main){

// здесь мы создаем объект вычисления

вычислить кал = новый кал();

// на этом шаге мы обращаемся к приватной переменной и полю из другого класса, но получим ошибку

cal.name = «модификатор закрытого доступа в java»;

}

}

Выход

Ошибка: имя имеет частный доступ в расчете

cal.name = «модификатор закрытого доступа в java»;

В приведенном выше коде мы получим ошибку, поскольку пытаемся получить доступ к частной переменной класса с именем calculate, и, поскольку мы изучили, что мы не можем получить доступ к этому методу/свойству, которое упоминается как закрытое в этом классе. Запустите приведенный выше код в своем редакторе для лучшего и ясного объяснения.

Давайте посмотрим еще один пример реализации ключевого слова модификатора частного доступа в java:

собака общественного класса {

// здесь мы объявили его с модификатором доступа private

частное строковое имя;

}

общественный класс Основной {

public static void main(String[] main){

// здесь мы создаем объект вычисления

собака d = новый d();

// на этом шаге мы обращаемся к приватной переменной и полю из другого класса, но получим ошибку

d.name = «Немецкая овчарка»;

}

}

Выход

Ошибка: имя имеет частный доступ в собаке

d.name = «Немецкая овчарка»;

В приведенном выше коде мы также получим сообщение об ошибке, поскольку пытаемся получить доступ к частной переменной класса с именем dog, и, как мы узнали, мы не можем получить доступ к этому методу/свойству, которое упоминается как закрытое в этом классе. Запустите приведенный выше код в своем редакторе для лучшего и ясного объяснения.

Теперь давайте изучим следующее ключевое слово модификатора доступа:

Модификатор доступа по умолчанию в Java

Словом, мы получаем представление о том, что когда модификатор доступа не используется, он по умолчанию обрабатывается как сам модификатор доступа по умолчанию. Если мы явно не указываем какой-либо модификатор доступа для классов, методов, переменных и т. д., то по умолчанию считается модификатор доступа по умолчанию.

по умолчанию в природе. Мы можем получить доступ только к модификатору доступа по умолчанию и только внутри пакета. Доступ к модификатору доступа по умолчанию в Java невозможен из-за пределов пакета java. если мы не укажем какой-либо модификатор доступа или уровень доступа, то он будет считаться значением по умолчанию только в java.

Теперь давайте рассмотрим несколько примеров, чтобы понять концепцию модификатора доступа по умолчанию в Java с помощью кода:

пакет по умолчаниюp1;

результат класса {

пустая печать () {

System.out.println(" Модификатор доступа по умолчанию в Java");

}

}

В приведенном выше примере результатом классификации является модификатор доступа по умолчанию, и этот результат класса будет доступен для всех классов, принадлежащих пакету defaultp1. Но предположим, что мы попытаемся использовать этот класс в любом другом классе, находящемся вне этого пакета, тогда мы получим ошибку компиляции.

Теперь давайте посмотрим на другой пример для лучшего объяснения:

// В этой Java-программе мы создадим пакеты и посмотрим, как будет работать модификатор доступа по умолчанию

пакет qwer1;

// В этой строке класс calculate имеет модификатор доступа по умолчанию, и если к нему обратиться извне в другом пакете, он покажет ошибку, которую мы увидим в этой программе

класс вычислить

{

недействительная печать ()

{

System.out.println(" Модификатор доступа по умолчанию в Java");

}

}

//Теперь мы создаем новую java-программу, чтобы проиллюстрировать ошибку при использовании класса из другого пакета с модификатором по умолчанию

пакет qwer2;

импортировать qwer1.*;

// Этот класс имеет модификатор доступа по умолчанию

класс вычислить1

{

public static void main (String args [])

{

// Доступ к классу Geek из пакета p1

вычислить объект = новый вычислить();

объект.дисплей();

}

}

Выход

Ошибка компиляции

В приведенном выше коде будет отображаться ошибка, потому что мы пытались получить доступ к функции print, поскольку она была модификатором доступа по умолчанию в другом пакете. Запустите приведенный выше код в своем редакторе для лучшего и ясного объяснения.

Теперь давайте изучим следующее ключевое слово модификатора доступа:

Модификатор защищенного доступа в Java

Увидев слово protected, мы можем понять, что член данных или метод, определенный под ключевым словом protected в java, доступен в одном и том же пакете или подклассах в разных пакетах.

Модификатор защищенного доступа в Java доступен внутри пакета, и к нему также можно получить доступ за пределами пакета, используя только процесс наследования.

Класс никогда не может быть объявлен защищенным в java. Спецификатор доступа ключевого слова protected в java предоставляет нам больше возможностей доступа, чем модификатор java по умолчанию.

Теперь давайте разберемся с этой концепцией на примере:

// В этом коде мы увидим, как реализовать ключевое слово модификатора доступа protected java

//Создание первого пакета

сначала упаковать;

открытый класс calculate1 {

защищенная недействительная печать ()

{

System.out.println («Модификатор защищенного доступа в Java»);

}

}

//создание второго пакета

пакет второй;

пакет импорта.*;

// использование наследования

второй класс распространяется первым {

public static void main (String args []) {

второй объект = новый второй();

объект.рассчитать1();

}

}

Выход

«Модификатор защищенного доступа в Java»

Поскольку мы знаем, что в модификаторе защищенного доступа в Java мы можем получить к нему доступ с помощью наследования, поэтому в приведенном выше примере мы только что реализовали вышеописанное. Запустите код в своем редакторе для лучшего и ясного объяснения.

Теперь давайте посмотрим на другой пример модификатора защищенного доступа в Java:

// В этом коде мы увидим, как реализовать ключевое слово модификатора доступа protected java

//Создание первого пакета

сумма пакета;

публичный класс sum1 {

защищенная недействительная печать ()

{

System.out.println («Модификатор защищенного доступа в Java»);

}

}

// создаем наш второй пакет

пакет qwer;

пакет импорта.*;

// используя наследование, мы можем получить доступ к защищенному модификатору доступа, поэтому мы просто реализуем его в нашем коде

класс расширяется первым {

public static void main (String args []) {

второй объект = новый второй();

объект.рассчитать1();

}

}

В этом примере также, как мы уже знаем, что в модификаторе защищенного доступа в Java мы можем получить к нему доступ с помощью наследования, поэтому в приведенном выше примере мы только что реализовали вышеизложенное, используя наследование в java. Запустите код в своем редакторе для лучшего и ясного объяснения.

Теперь давайте изучим следующее и последнее ключевое слово модификатора доступа в java:

Модификатор общего доступа в Java

Доступ к модификатору общего доступа в Java можно получить из любого места, и он является наиболее часто используемым модификатором доступа в java. Модификатор общего доступа в Java имеет самую широкую область действия среди всех других модификаторов. Модификатор общего доступа не имеет ограничения области действия. Если все методы, переменные, классы и т. д. объявлены общедоступными, то мы можем легко получить к ним доступ из любого места.

Теперь давайте посмотрим на несколько примеров, чтобы понять концепцию модификатора общего доступа в Java:

В этом коде мы увидим, как реализовать ключевое слово модификатора доступа public java.

открытый класс вычислить {

// общедоступная переменная

общедоступный интервал с;

// вот в этой строке мы объявили публичный метод

публичная недействительная печать () {

System.out.println («ключевое слово модификатора открытого доступа к Java»);

System.out.println («язык программирования Java»);

}

}

// вызов основной функции

общественный класс Основной {

public static void main( String[] args ) {

// здесь мы обращаемся к открытому классу

вычислить кал = новый Вычислить();

// здесь мы обращаемся к публичному методу

кал.принт();

}

}

Выход

«общедоступное ключевое слово модификатора доступа к Java»

«язык программирования java»

Здесь, в этом примере, мы объявили функцию, используя ключевое слово public в java, и, как мы знаем, мы можем получить доступ к методу от любого, кто использует спецификатор доступа public. Запустите приведенный выше код в своем редакторе для лучшего и ясного объяснения.

Теперь давайте посмотрим на другой пример, чтобы понять:

сначала упаковать;

открытый класс calculate1 {

// в этой строке мы объявили спецификатор открытого доступа

публичная недействительная печать ()

{

System.out.println («Модификатор общего доступа в Java»);

}

}

//здесь мы создаем второй пакет

пакет второй;

пакет импорта.*;

второй класс распространяется первым {

public static void main (String args []) {

второй объект = новый второй();

объект.print();

}

}

Выход

«Модификатор общего доступа в Java»

Здесь также мы использовали ключевое слово public и обращались к нему из другого класса,

Теперь давайте посмотрим, как модификаторы доступа Java используются с переопределением метода:

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

Мы знаем, что переопределенный метод может иметь другой модификатор доступа. Если мы переопределяем какой-либо метод, то этот переопределенный метод не должен быть более строгим. e. Переопределение метода — это функция, которая позволяет подклассу или дочернему классу предоставлять конкретную реализацию метода, который уже предоставлен его суперклассом или его родителем. сорт.

Теперь давайте разберемся с этим на примере:

первый класс {

защищенная недействительная печать ()

{

System.out.println("Модификаторы доступа Java с переопределением методов");

}

}

второй публичный класс распространяется первым {

пустая печать () {

System.out.println("Модификаторы доступа Java с переопределением методов");

}

// вызов основного метода

public static void main (String args []) {

второй объект=новый второй();

объект.print();

}

}

Выход

Ошибка времени компиляции

Запустите приведенный выше код в своем редакторе для лучшего и ясного объяснения.

Заключение

  • В java доступны четыре типа модификаторов доступа.
  • Уровень доступа методов, конструкторов и классов можно изменить, применив в нем модификатор доступа.
  • Модификатор приватного доступа используется чаще всего, и мы также должны использовать модификатор приватного доступа, если у нас нет других требований.
  • Мы должны избегать использования публичных полей, за исключением констант.
  • Основная причина использования модификаторов доступа связана с инкапсуляцией.
  • Использование модификаторов доступа в java может предотвратить неправильное использование данных.

Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:

  • 👏 Хлопайте за историю и подписывайтесь на автора 👉
  • 📰 Смотрите больше контента в публикации Level Up Coding
  • 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"

🚀👉 Присоединяйтесь к коллективу талантов Level Up и найдите прекрасную работу