Úvod do modifikátorov prístupu v Java

Ako všetci vieme, Java je jedným z najlepších programovacích jazykov na svete. Za posledné dve desaťročia sa na to spoliehajú miliardy zariadení. Java je rýchly, spoľahlivý, bezpečný a viac platformový jazyk. Java je spustená na akomkoľvek zariadení, pokiaľ má toto zariadenie Java Runtime (JRE), vďaka čomu je multiplatformový, rýchly a spoľahlivý jazyk. Modifikátor prístupu je vlastnosť java, vďaka čomu je bezpečný na celej platforme. Java poskytuje programátorovi bezpečnosť na úrovni triedy (počas zapuzdrenia) pomocou vlastnosti modifikátora prístupu. Podľa knihy je trieda návrhom na vytvorenie objektu v jave, čo z neho robí stavebný blok programu, pretože jazyk Java je objektovo orientovaný jazyk. Modifikátor prístupu určuje, ako môže ktorákoľvek trieda získať prístup k danej triede a jej poliam, konštruktorom a metódam v rámci rôznych balíkov. Trieda, polia, konštruktory a metódy môžu mať jeden zo štyroch rôznych modifikátorov prístupu Java.

  • Súkromné
  • verejnosť
  • chránený
  • Predvolené - nevyžaduje sa žiadne kľúčové slovo.

Rôzne modifikátory prístupu v Jave

Nasledujúca tabuľka sumarizuje, ako môžeme na program použiť modifikátory prístupu Java:

modifikátoryTriedabalíčkySub-Classsvet
SúkromnéYNNN
verejnosťYYYY
chránenýYYYN
štandardnéYYNN

V nasledujúcich častiach sa venujeme každému modifikátoru prístupu Java.

1) Predvolené

Ak je ktorákoľvek trieda, členovia údajov a premenná deklarovaná tým, že nepíšu s modifikátorom prístupu, nastaví sa na „predvolený“ modifikátor prístupu. „Predvolený“ modifikátor prístupu znamená, že kód vnútri ktorejkoľvek triedy má prístup k celému programu v rámci toho istého balíka.

  • Tento modifikátor prístupu funguje iba v rámci toho istého balíka.
  • „Predvolený“ modifikátor prístupu sa niekedy označuje aj ako modifikátor prístupu k balíku, pretože je prístupný iba v rámci toho istého balíka.
  • Podtriedy nemôžu získať prístup k metódam, dátovým členom a premenným (poliam) v nadtriede, ak tieto metódy, dátové členy a premenné (polia) označené „predvoleným“ modifikátorom prístupu v triede, pokiaľ tieto podtriedy nie sú umiestnené v rovnakom balíku ako nadtřídy.

Príklad č. 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!");
)
)

Výkon:

Ahoj svet!

Príklad č. 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();
)
)

Výkon:

Chyba kompilácie času.

2) Chránené

Syntax „chránená“ používajú používatelia, keď chcú použiť tento modifikátor prístupu.

  • Tento modifikátor prístupu je prístupný iba v rámci toho istého balíka alebo rovnakých podtried v rôznych triedach (používatelia však musia tento balík importovať tam, kde bol uvedený).
  • Používateľ nemôže označiť triedu a rozhrania modifikátorom chráneného prístupu. Metódy a polia však môžu byť vyhlásené za chránené, ak sú metódy a polia v rozhraní.

Napríklad:

//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();
)
)

Výkon:

Ahoj svet!

3) Verejné

Užívateľ môže deklarovať triedu, metódu, konštruktor a rozhranie s modifikátorom 'verejného' prístupu, ktorý má prístup k akejkoľvek triede, metóde, konštruktoru a rozhraniu v rámci alebo rôznych balíkov.

  • Tento modifikátor prístupu má Boundless medzi všetkými modifikátormi.
  • Ak je akákoľvek trieda, metódy alebo balík označený modifikátorom „verejného“ prístupu, ak je prístupný všetkým odkiaľkoľvek z programu.
  • Rozsah „verejnej“ triedy prístupu, metódy nie sú nijako obmedzené.

Napríklad: -

//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 ();
)
)

Výkon:

Ahoj svet!

4) Súkromné

Ak je metóda alebo premenná označená ako „súkromné“ modifikátory prístupu, potom kód v rámci tej istej triedy má prístup iba k týmto metódam a premenným.

Užívateľ nemôže v programe deklarovať žiadnu supertriedu s modifikátorom „súkromného“ prístupu a ak tak urobí s akoukoľvek triedou, potom robí túto triedu neprístupnou pre akúkoľvek inú triedu v rovnakom balíku, ktorá triede nevyužíva, hoci užívateľ môže deklarovať premenné a metódy v rámci triedy pomocou modifikátora „súkromného“ prístupu, takže ktokoľvek nemôže tieto premenné a metódy využívať.

Ľudia sa občas zamieňali s modifikátorom „súkromného“ a „chráneného“ prístupu, obaja sa však líšia.

Napríklad: -

//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();
)
)

Výkon:

error: display () má súkromný prístup v eduCBA obj.display ();

záver

Modifikátor prístupu do Java vám poskytne ďalšiu výhodu oproti vášmu programu, keď ho zverejníte. Ako sme študovali vyššie, Rôzne typy modifikátorov prístupu v JAVA a ich špecifikácia.

Preto majte na pamäti, že zakaždým, keď niektorú z nich použijete ako prístup do triedy alebo rozhrania, pretože nielenže poskytujú prístup, ale tiež ich prepíšu. Aj keď stále existuje obava týkajúca sa dostupnosti metódy v programe. Napríklad, ak je rozhraniu v nadtriede priradený „predvolený“ modifikátor prístupu, potom je povolené prepísať modifikátory prístupu použité v podtriede metódy.

Poznámka: Trieda obsahuje premenné, konštruktory, polia a metódy a rozhranie obsahuje špecifické polia alebo metódy.

Odporúčané články

Toto je sprievodca modifikátormi prístupu v Java. Tu diskutujeme rôzne typy modifikátorov prístupu v jave a ich špecifikáciu. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Objektovo orientované programovanie v Jave
  2. Java Interview Otázky
  3. Čo je synchronizácia v jazyku Java?
  4. Autoboxing a Unboxing v Jave
  5. Modifikátory prístupu v C ++ (typy)
  6. Úžasný sprievodca modifikátormi prístupu v jazyku C #
  7. Modifikátory prístupu v PHP
  8. JRE vs JVM | 8 najlepších rozdielov s (infografika)

Kategórie: