МОДИФИКАТОРЫ ДОСТУПА В JAVA

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

МОДИФИКАТОРЫ ДОСТУПА В JAVA

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

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

12345678910

package packageOneDefault; public class DefaultClassOne { //Здесь я не упомянул ни одного модификатора, поэтому он действует как модификатор по умолчанию.protected int myMethod(int x){return x;}}

12345678910111213141516

пакет packageTwoDefault; импортировать packageOneDefault.DefaultClassOne; public class DefaultClassTwo {public static void main(String args[]){//Создан объект ClassOneDefaultClassOne obj = new DefaultClassOne();//Попытка получить доступ к методу ClassOne по умолчанию, который находится в packageOne//Вы можете найти ошибку at obj.myMethod obj.myMethod(10);}}

private: Область действия модификатора private доступа находится только внутри классов.

Примечание. Класс или интерфейс не могут быть объявлен как частный

1234567891011121314151617

пакет packageThreePrivate; открытый класс PrivateClassOne { частный int x = 100; int y = 200; private int myMethod(int a){return a;}int myMethodOne(int a){return a;}}

1234567891011121314151617181920

пакет packageThreePrivate; открытый класс PrivateClassTwo {public static void main(String args[]){  PrivateClassOne obj = new PrivateClassOne(); //Здесь я пытаюсь получить доступ к частному члену данных и частному методу ClassOne//Выдает ошибку компиляции System.out.println(obj.x);System.out.println(obj.myMethod(1000));//Здесь Я пытаюсь получить доступ к элементу данных по умолчанию и методу ClassOne по умолчанию //Нет ошибки. Мы можем удобно получить доступ к модификатору по умолчанию с помощью packageSystem.out.println(obj.y);System.out.println(obj.myMethodOne(2000)); }}

protected. Область действия модификатора защищенного доступа находится внутри пакета, а также за пределами пакета только посредством наследования.

Примечание. Класс нельзя объявлять как protected

123456789

package packageFourProtected; открытый класс ProtectedClassFour { защищенный int myMethod(int a){return a;}}

123456789101112

пакет пакетFiveProtected; импортировать packageFourProtected.ProtectedClassFour; открытый класс ProtectedClassFive extends ProtectedClassFour{public static void main(String args[]){ProtectedClassFive obj = new ProtectedClassFive();System.out.println(obj.myMethod(100));} }

публично: Область действия модификатора общего доступа везде. Он не имеет ограничений. К элементам данных, методам и классам, объявленным общедоступными, можно получить доступ откуда угодно. размер вкладки: 4; -webkit-размер вкладки: 4; размер вкладки: 4; размер шрифта: 12 пикселей! важно; высота строки: 15 пикселей! важно> пакет packageSixPublic; public class PublicClassSix { //Здесь я не упомянул ни одного модификатора, поэтому он действует как модификатор по умолчанию. public int myMethod(int x){return x; } }

12345678910

пакет packageSixPublic; public class PublicClassSix { //Здесь я не упомянул ни одного модификатора, поэтому он действует как модификатор по умолчанию.public int myMethod(int x){return x;}}

12345678910111213141516

пакет packageSevenPublic; импортировать packageSixPublic.PublicClassSix; public class PublicClassSeven {public static void main(String args[]){//Создан объект ClassOnePublicClassSix obj = new PublicClassSix();//Попытка получить доступ к публичному методу PublicClassSix, который находится в packageSixPublic obj.myMethod(10); //Мы попробовали тот же пример с Default и столкнулись с ошибкой. Надеюсь, вы помните}}

Просмотрите эту простую таблицу, чтобы легко понять модификаторы доступа

МОДИФИКАТОРЫ ДОСТУПА В JAVA

TAG: qa

От QA genius

Adblock
detector