logo

Modifikátory prístupu v jazyku Java

v Jave modifikátory Access pomáhajú obmedziť rozsah triedy, konštruktora, premennej, metódy alebo údajového člena. Poskytuje používateľovi bezpečnosť, dostupnosť atď. v závislosti od modifikátora prístupu použitého s prvkom. V tomto článku sa dozvieme o Java Access Modifiers, ich typoch a použití modifikátorov prístupu.

Typy modifikátorov prístupu v jazyku Java

V jazyku Java sú k dispozícii štyri typy modifikátorov prístupu:

  1. Predvolené – Nevyžaduje sa žiadne kľúčové slovo
  2. Súkromné
  3. Chránené
  4. Verejné

1. Predvolený modifikátor prístupu

Keď nie je špecifikovaný žiadny modifikátor prístupu pre triedu, metódu alebo údajový člen – hovorí sa, že má predvolená modifikátor prístupu štandardne. Údajové členy, triedy alebo metódy, ktoré nie sú deklarované pomocou žiadnych modifikátorov prístupu, t. j. majú predvolené modifikátory prístupu, sú prístupné len v rámci toho istého balenia .



V tomto príklade vytvoríme dva balíky a triedy v balíkoch budú mať predvolené modifikátory prístupu a pokúsime sa o prístup k triede z jedného balíka z triedy druhého balíka.

Program 1:

Java
// Java program to illustrate default modifier  package p1;  // Class Geek is having Default access modifier  class Geek  {   void display()   {   System.out.println('Hello World!');   }  }>


Program 2:

java webové služby
Java
// Java program to illustrate error while  // using class from different package with  // default modifier  package p2;  import p1.*;  // This class is having default access modifier  class GeekNew  {   public static void main(String args[])   {   // Accessing class Geek from package p1   Geek obj = new Geek();   obj.display();   }  }>

Výkon:

Compile time error>

2. Modifikátor súkromného prístupu

Modifikátor súkromného prístupu sa špecifikuje pomocou kľúčového slova súkromné . Metódy alebo dátové členy deklarované ako súkromné ​​sú prístupné len v rámci triedy v ktorom sú deklarované.

  • Akýkoľvek iný trieda a rovnaký balík nebude mať prístup títo členovia.
  • Triedy alebo rozhrania najvyššej úrovne nemožno deklarovať ako súkromné, pretože
    • súkromné ​​znamená viditeľné iba v rámci obklopujúcej triedy.
    • chránené znamená viditeľné iba v rámci obklopujúcej triedy a akýchkoľvek podtried

Preto sa tieto modifikátory, pokiaľ ide o aplikáciu na triedy, vzťahujú iba na vnorené triedy a nie na triedy najvyššej úrovne

V tomto príklade vytvoríme dve triedy A a B v rámci toho istého balíka p1. Metódu v triede A deklarujeme ako súkromnú a pokúsime sa k nej pristupovať z triedy B a uvidíme výsledok.

ako vrátiť pole java
Java
// Java program to illustrate error while // Using class from different package with // Private Modifier package p1; // Class A class A {  private void display()  {  System.out.println('techcodeview.com');  } } // Class B class B {  public static void main(String args[])  {  A obj = new A();  // Trying to access private method  // of another class  obj.display();  } }>

Výkon:

error: display() has private access in A  obj.display();>

3. Modifikátor chráneného prístupu

Modifikátor chráneného prístupu sa špecifikuje pomocou kľúčového slova chránené .

Metódy alebo dátové členy deklarované ako chránené sú prístupné v rámci rovnakého balíka alebo podtried v rôznych balíkoch.

V tomto príklade vytvoríme dva balíčky p1 a p2. Trieda A v p1 je zverejnená, aby ste k nej mali prístup v p2. Zobrazenie metódy v triede A je chránené a trieda B je dedená z triedy A a k tejto chránenej metóde sa potom pristupuje vytvorením objektu triedy B.

Program 1:

Java
// Java Program to Illustrate // Protected Modifier package p1; // Class A public class A {  protected void display()  {  System.out.println('techcodeview.com');  } }>


Program 2:

Java
// Java program to illustrate // protected modifier package p2; // importing all classes in package p1 import p1.*;  // Class B is subclass of A class B extends A {  public static void main(String args[])  {  B obj = new B();  obj.display();  } }>

Výkon:

techcodeview.com>

Modifikátor verejného prístupu

Modifikátor verejného prístupu sa špecifikuje pomocou kľúčového slova verejnosti .

  • Modifikátor verejného prístupu má najširší záber medzi všetkými ostatnými modifikátormi prístupu.
  • Triedy, metódy alebo údajové členy, ktoré sú deklarované ako verejné, sú prístupné odkiaľkoľvek v programe. Neexistuje žiadne obmedzenie rozsahu členov s verejnými údajmi.

Program 1:

Java
// Java program to illustrate  // public modifier  package p1;  public class A  {  public void display()   {   System.out.println('techcodeview.com');   }  }>

Program 2:

Java
package p2; import p1.*; class B {  public static void main(String args[])  {  A obj = new A();  obj.display();  } }>

Výkon:

techcodeview.com>

Dôležité body:

  • Ak vašu triedu používajú iní programátori, skúste použiť najobmedzujúcejšiu úroveň prístupu, ktorá má zmysel pre konkrétneho člena. Ak nemáte dobrý dôvod, použite súkromné.
  • Vyhnite sa verejným poliam s výnimkou konštánt.

Algoritmus na použitie modifikátora prístupu v jazyku Java

Tu je základný algoritmus na používanie modifikátorov prístupu v jazyku Java:

  • Definujte triedu: Vytvorte triedu, ktorá predstavuje objekt, ktorý chcete spravovať.
  • Definujte premenné inštancie: V rámci triedy definujte premenné inštancie, ktoré predstavujú údaje, ktoré chcete spravovať.
  • Zadajte modifikátor prístupu: Pre každú premennú inštancie zadajte modifikátor prístupu, ktorý určuje viditeľnosť premennej. Tri hlavné modifikátory prístupu v jazyku Java sú súkromné, chránené a verejné.
  • Pre premenné, ktoré by mali byť dostupné iba v rámci triedy, použite súkromné: Ak chcete zabrániť prístupu k premennej mimo triedy, použite modifikátor súkromného prístupu. Toto je najviac reštriktívny modifikátor prístupu a poskytuje najvyššiu úroveň zapuzdrenia.
  • Použite chránené pre premenné, ktoré by mali byť dostupné v rámci triedy a jej podtried : Ak chcete povoliť prístup k premennej z triedy a jej podtried, použite modifikátor chráneného prístupu. Toto je menej obmedzujúce ako súkromné ​​a poskytuje určitú úroveň dedičstva.
  • Verejné použite pre premenné, ktoré by mali byť dostupné odkiaľkoľvek : Ak chcete povoliť prístup k premennej odkiaľkoľvek, použite modifikátor verejného prístupu. Toto je najmenej obmedzujúci modifikátor prístupu a poskytuje najmenšie množstvo zapuzdrenia.
  • Na správu prístupu k premenným použite metódy prístupového objektu a mutátora: Ak chcete pristupovať k premenným a upravovať ich, použite metódy accessor (getter) a mutator (setter), aj keď premenné majú modifikátor verejného prístupu. To poskytuje úroveň abstrakcie a robí váš kód lepšie udržiavateľným a testovateľným.

Časté otázky v modifikátoroch prístupu

1. Čo sú modifikátory prístupu v jazyku Java?

Modifikátory prístupu v jazyku Java sú kľúčové slová, ktoré sa používajú na riadenie používania metód, konštruktorov, polí a metód v triede.

inurl:.git/head

2. Čo je v Jave neplatné?

Void v jazyku Java sa používa na určenie žiadnej návratovej hodnoty s metódou.

3. Čo je 12 modifikátorov v Jave?

12 Modifikátory v jazyku Java sú verejné, súkromné, chránené, predvolené, konečné, synchronizované, abstraktné, natívne, strictfp, prechodné a nestále.