Модификатори на достъп в Java: Всичко, което трябва да знаете



Тази статия ви помага да разберете какво представляват модификаторите на достъп в Java и да научите за различните типове като Public, private, protected и default.

Модификаторите на достъп в Java се използват за определяне на нивата на достъп за класове, променливи методи и конструктор.Помага за актуализиране на стойността на a . Те са известни още като редактиране на видимост. Посредством този блог ще ви помогна да разберете какво е значението на модификаторите за достъп в .

Ще разглеждам темите в следния ред:





Нека започнем с първата тема.

Какво е модификатор на достъп?



Може да сте попадали публично , частни и защитен ключови думи, докато практикувате някоя , те се наричат ​​модификатори на достъп.Както подсказва името, модификаторите на Access в Java помагат да се ограничи обхватът на клас, конструктор, променлива, метод или член на данни.

Модификаторите на достъп могат да бъдат посочени отделно за клас, конструктори,полета и методи. Те също са посочени като Спецификатори за достъп на Java , но правилното име е Модификатори за достъп на Java .

разлика между приспособленията и разширенията

И така, нека се задълбочим в различните видове модификатори на достъп в Java.



Видове модификатор на достъп

Има четири ключови думи за модификатори на достъп и те са:

  • Модификатор на достъп по подразбиране
  • Модификатор на частния достъп
  • Модификатор на публичния достъп
  • Модификатор на защитен достъп

Нека научим подробно за всеки един от тях.

Модификатор на достъп по подразбиране

Когато не е посочен модификатор на достъп за определен клас, метод или член на данни, се казва, че има по подразбиране достъп редактиране.

Датата на членовете, или методи, които не са декларирани с използване на модификатори на входа, ще имат модификатор по подразбиране, който е достъпен само в подобен пакет. Тоозначава, че не декларирате изрично модификатор на достъп за клас, поле, метод и т.н.

Пример:

пакет p1 // Курсът на клас има модифициран клас за модификация на достъп Курс {void display () {System.out.println ('Hello World!')}}

След това нека преминем към следващия тип, модификатор за частен достъп.

Модификатор на частния достъп

  • Методите или членовете на данни, които са декларирани като частни, са достъпни само в рамките на класа, в който са декларирани.
  • Класовете или интерфейсите от най-високо ниво не могат да бъдат декларирани като частни с оглед на факта, че
    • Частно означава „ просто се вижда в заграждащия клас '.
    • Защитено означава „ j ust забележим в заграждащия клас и всички подкласове '.
  • Ако клас имада сечастен конструктор тогава не можете да създадете обекта на този клас извън класа.
  • Класовете не могат да бъдат маркирани с модификатор за частен достъп .
  • Обозначаването на клас с модификатора за частен достъп би означавало, че никой различен клас не може да стигне до него. Това обикновено означава, че не можете да използвате класа по никакъв участък от въображението. По този начин модификаторът за частен достъп не отчита класовете.

Забележка : Класът или интерфейсът не могат да бъдат декларирани като частни.

хеш карта срещу хеш таблица

Синтаксис:

публичен клас Часовник {частно дълго време = 0}

Разгледайте пример, за да получите ясна представа за този модификатор на частен достъп.

Пример:

пакет p клас A {private void display () {System.out.println ('Edureka')}} class B {public static void main (String args []) {A obj = new A () // опитва се да получи достъп до private метод на друг клас obj.display ()}}

Резултатът от тази програма е:

грешка: display () има частен достъп в A

obj.display ()

Надявам се, че вие ​​сте наясно с модификатора за частен достъп. След това нека преминем към следващия тип, модификатор за обществен достъп.

Модификатор на публичния достъп

  • Модификаторът за публичен достъп е посочен с помощта на ключовата дума публично.
  • Модификаторът за публичен достъп има широк обхват сред всички други модификатори за достъп.
  • , методи или членове на данни, които са декларирани като публично са достъпни навсякъде програмата. Няма ограничение за обхвата на членовете на публичните данни.

Синтаксис:

пакет edureka.co публичен клас PublicClassDemo {// Тук не споменах нито един модификатор, така че той действа като модификатор по подразбиране public int myMethod (int x) {return x}}

Сега, разгледайте пример, за да получите ясна представа за този модификатор на публичен достъп.

Пример:

пакет p1 публичен клас A {public void display () {System.out.println ('edureka!')}}
пакет p2 импортиране p1. * клас B {публична статична void main (String args []) {A obj = new A obj.display ()}}

Резултат: edureka!

Това е всичко за модификаторите на публичния достъп в Java.

Нека да преминем към следващите модификатори на достъп в Java, защитени модификатори на достъп.

Модификатор на защитен достъп

  • Модификаторът на защитения достъп е посочен с помощта на ключовата дума защитен .
  • Методите или членовете на данни, декларирани като защитени, са достъпни в рамките на един и същ пакет или подкласове в различен пакет.
  • Защитените членове могат да бъдат достъпни само в дъщерните или производни класове.

Синтаксис:

пакет packageFourProtected публичен клас ProtectedClassFour {защитен int myMethod (int a) {return a}}

Нека разгледаме един пример.

Пример:

spackage p1 // Клас A публичен клас A {protected void display () {System.out.println ('Java Certification Training')}}
пакет p2 импортиране p1. * // импортиране на всички класове в пакет p1 // Клас B е подклас на A клас B разширява A | {public static void main (String args []) {B obj = new B () obj.display ()}}

Изход - Модификатори на достъп в Java - Edureka

Това е всичко, което трябва да знаете за различните методи под модификаторите на достъп в Java. Нека да преминем към следващата тема.

Достъп до модификатори с заместване на метода

Ако в този случай замествате който и да е метод, замененият метод, който е деклариран в подкласа, не трябва да бъде ограничителен.

Погледнете примера по-долу.

разширява и прилага заедно в java
клас A {protected void msg () {System.out.println ('Hello java')}} публичен клас Simple extends A {void msg () {System.out.println ('Hello java')} // CTError public static void main (String args []) {Simple obj = new Simple () obj.msg ()}}

Модификаторът по подразбиране е по-ограничителен, отколкото защитен. Ето защо има грешка по време на компилация.

Контрол на достъпа и наследяване

  • Ако в случай, създадете подклас от някакъв клас, тогава методите в този подклас не могат да имат по-малко достъпни модификатори на достъп, присвоени им от суперкласа.
  • Например, ако методът в суперкласа е публично тогава той трябва да е публичен и в подкласа. Ако методът в суперкласа е защитен, тогава той трябва да бъде защитен или публичен в посочения подклас.
  • Методите, декларирани като частни, изобщо не се наследяват.

Това ни води до края на тази статия, където научихме на модификаторите на Access в Java. Надявам се, че сте наясно с всичко споделено с вас в този урок.

Уверете се, че практикувате възможно най-много и връщате опита си.

Ако сте намерили тази статия за „Модификатори на достъп в Java“ подходяща, разгледайте доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Ние сме тук, за да ви помогнем във всяка стъпка по вашето пътуване, за да станете освен тези въпроси за интервю за Java, измислим учебна програма, предназначена за студенти и професионалисти, които искат да бъдат разработчик на Java. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Ако попаднете на някакви въпроси, не се колебайте да зададете всичките си въпроси в раздела за коментари на „Модификатори на достъп в Java“ и нашият екип ще се радва да отговори.