Увод у Аццесс Модифиерс на Јави

Као што сви знамо, Јава је један од најбољих програмских језика на свету. Милијарде уређаја се ослањају на њега у последње две деценије. Јава је брз, поуздан, сигуран и мулти-платформски језик. Јава се покреће на било ком уређају све док тај уређај има Јава Рунтиме (ЈРЕ), што га чини мултиплатформским, брзим и поузданим језиком. Модификатор приступа је својство Јава, што га чини сигурним на више платформи. Јава обезбеђује безбедност на нивоу класе (током енкапсулације) програмеру користећи својство модификатора приступа. Према књизи, класа је нацрт за изградњу објекта у јави, што га чини „градивним блоком“ за програм, јер је Јава објектно оријентисан језик. Модификатор приступа одређује како било која класа може приступити одређеној класи и њеним пољима, конструкторима и методама унутар и различитим пакетима. Класа, поља, конструктори и методе могу имати један од четири различита Јава модификатора приступа.

  • Приватни
  • Јавно
  • Заштићено
  • Подразумевано - није потребна кључна реч.

Различити модификатори приступа на Јави

Следећа табела резимира како на програм можемо применити Јава модификаторе приступа:

МодификаториКласаПакетиПодкласаСветски
ПриватниИННН
ЈавноИИИИ
ЗаштићеноИИИН
УобичајеноИИНН

Покриваћемо сваки Јава модификатор приступа у следећим одељцима.

1) Подразумевано

Када се било која класа, чланови података и варијабла декларишу тако да се не пишу модификатором приступа, тада се поставља на "задани" модификатор приступа. „Подразумевани“ модификатор приступа значи да код унутар било које класе може приступити читавом програму унутар истог пакета.

  • Овај модификатор приступа ради само у истом пакету.
  • Понекад се „подразумевани“ модификатор приступа назива и модификатором приступа пакету, јер је доступан само у истом пакету.
  • Подкласе не могу приступити методама, члановима података и варијаблама (пољима) у преткласи, ако су ове методе, чланови података и варијабле (поља) означене "заданим" модификатором приступа у класи, осим ако се ове подразреде налазе у истом пакету као и суперкласа

Пример бр. 1:

//Java program to show the default modifier.
package Test;
//Where Class eduCBA is having Default access modifier as no access modifier is specified here
class eduCBA
(
void display ()
(
System.out.println("Hello World!");
)
)

Излаз:

Здраво Свете!

Пример бр. 2:

//Java program to show error while using class from different package with default modifier
package test2;
import test.*;
//This class check is having default access modifier
class Check
(
public static void main(String args())
(
//accessing class eduCBA from package test
eduCBA obj = new eduCBA();
obj.display();
)
)

Излаз:

Време грешке код компилације.

2) Заштићено

Синтаксу 'заштићено' користе корисници када желе користити овај модификатор приступа.

  • Овај модификатор приступа је доступан само унутар истог пакета или исте подкласе у различитим класама (али корисници морају увести тај пакет тамо где је био одређен).
  • Корисник не може означити класу и интерфејсе „заштићеним“ модификатором приступа. Међутим, Методе и поља могу се прогласити заштићенима ако су методе и поља у интерфејсу.

На пример:

//Java program to show to protected access modifier
package test;
//Class eduCBA
public class eduCBA
(
protected void display ()
(
System.out.println("Hello World!");
)
)
//Java program to show to protected modifier in same sub-classes of different packages
package test2;
import test.*;
//Class pro is subclass of eduCBA
class pro extends eduCBA
(
public static void main(String args())
(
pro obj = new pro();
obj.display();
)
)

Излаз:

Здраво Свете!

3) Јавна

Корисник може прогласити класу, методу, конструктор и сучеље с 'јавним' модификатором приступа којем може приступити било која класа, метода, конструктор и сучеље унутар или различитих пакета.

  • Овај модификатор приступа има Боундлесс међу свим модификаторима.
  • Када је било која класа, метода или пакет означен модификатором јавног приступа, где је доступан свима из сваког програма.
  • Не постоје ограничења у обиму „јавне“ класе приступа, метода.

На пример: -

//Java program to show to public access modifier
package test;
public class eduCBA
(
public void display ()
(
System.out.println("Hello World!");
)
)
package test2;
import test.*;
class pub
(
public static void main (String args ())
(
eduCBA obj = new eduCBA ();
obj.display ();
)
)

Излаз:

Здраво Свете!

4) Приватно

Када су метода или варијабла означене као "приватни" модификатори приступа, онда код унутар те исте класе може приступити само тим методама и варијаблама.

Корисник не може декларирати ниједну супер класу с „приватним“ модификатором приступа у програму. Ако корисник то учини с било којом класом, онда то чини да класа није доступна ниједној другој класи у истом пакету, што класи чини никакву корист иако корисник може декларирати варијабле и методе унутар класе помоћу приватног модификатора приступа тако да нико не може користити те варијабле и методе.

Повремено се људи збуњују са „приватним“ и „заштићеним“ модификатором приступа, али обоје су различити.

На пример: -

//Program to show error while using a class from different packages with private modifier.
package test;
class eduCBA
(
private void display()
(
System.out.println("Hello World!");
)
)
class Check
(
public static void main (String args())
(
eduCBA obj = new eduCBA();
//make class check to access private method of another class eduCBA.
obj.display();
)
)

Излаз:

грешка: дисплаи () има приватни приступ у едуЦБА обј.дисплаи ();

Закључак

Јава модификатор приступа пружа вам додатну предност над вашим програмом када га учините јавним. Као што смо горе проучили, различите врсте модификатора приступа у ЈАВА и њихове спецификације.

Зато имајте на уму сваки пут када неки од њих употребљавате као разред или приступ интерфејсу јер они не пружају само приступ, већ их и надјачавају. Иако увек постоји забринутост у погледу приступачности методе у програму. На примјер, ако је интерфејсу додијељен „задати“ модификатор приступа у преткласи, тада је дозвољено надјачати модификаторе приступа који се користе у поткласи методе.

Напомена: Класа укључује варијабле, конструкторе, поља и методе, а сучеље укључује специфична поља или методе.

Препоручени чланци

Ово је водич за приступ модификаторима на Јави. Овде смо расправљали о различитим типовима модификатора приступа у јави и њиховој спецификацији. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. Објектно оријентисано програмирање на Јави
  2. Питања о Јава интервјуу
  3. Шта је синхронизација у Јави?
  4. Аутоматско боксање и распакирање у Јави
  5. Приступи модификаторима у Ц ++ (типови)
  6. Невероватни водич за приступ модификаторима на Ц #
  7. Приступите модификаторима на ПХП-у
  8. ЈРЕ вс ЈВМ | Топ 8 разлика са (Инфограпхицс)

Категорија: