logo

Modifikatorji dostopa v Javi

v Javi Accessovi modifikatorji pomagajo omejiti obseg razreda, konstruktorja, spremenljivke, metode ali podatkovnega člana. Uporabniku zagotavlja varnost, dostopnost itd., odvisno od modifikatorja dostopa, uporabljenega z elementom. Spoznajmo modifikatorje dostopa Java, njihove vrste in uporabo modifikatorjev dostopa v tem članku.

Vrste modifikatorjev dostopa v Javi

V Javi so na voljo štiri vrste modifikatorjev dostopa:



  1. Privzeto – ključna beseda ni potrebna
  2. Zasebno
  3. Zaščiteno
  4. Javno

1. Privzeti modifikator dostopa

Če za razred, metodo ali podatkovni član ni določen modifikator dostopa – se reče, da ima privzeto modifikator dostopa privzeto. Podatkovni člani, razredi ali metode, ki niso deklarirani z nobenim modifikatorjem dostopa, tj. s privzetimi modifikatorji dostopa, so dostopni samo znotraj istega paketa .

V tem primeru bomo ustvarili dva paketa in razredi v paketih bodo imeli privzete modifikatorje dostopa in poskusili bomo dostopati do razreda iz enega paketa iz razreda drugega paketa.

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:

kako izklopiti razvijalski način android
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();   }  }>

Izhod:

Compile time error>

2. Modifikator zasebnega dostopa

Modifikator zasebnega dostopa je določen s ključno besedo zasebno . Dostopne so samo metode ali podatkovni člani, ki so deklarirani kot zasebni znotraj razreda v katerem so deklarirane.



  • Katera koli druga razred od the isti paket ne bo mogel dostopati teh članov.
  • Razredov ali vmesnikov najvišje ravni ni mogoče razglasiti za zasebne, ker
    • private pomeni, da je viden le znotraj obdajajočega razreda.
    • zaščiteno pomeni, da je vidno samo znotraj obdajajočega razreda in vseh podrazredov

Zato ti modifikatorji v smislu uporabe za razrede veljajo samo za ugnezdene razrede in ne za razrede najvišje ravni

V tem primeru bomo ustvarili dva razreda A in B znotraj istega paketa p1. Metodo v razredu A bomo razglasili za zasebno in poskusili dostopati do te metode iz razreda B ter videti rezultat.

odstranite angular cli
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();  } }>

Izhod:

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

3. Modifikator zaščitenega dostopa

Modifikator zaščitenega dostopa je določen s ključno besedo zaščiten .

Metode ali podatkovni člani, ki so deklarirani kot zaščiteni, so dostopen znotraj istega paketa ali podrazredov v različnih paketih.

V tem primeru bomo ustvarili dva paketa p1 in p2. Razred A v p1 je javno objavljen za dostop do njega v p2. Prikaz metode v razredu A je zaščiten, razred B pa je podedovan iz razreda A in do te zaščitene metode se nato dostopa z ustvarjanjem predmeta razreda 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();  } }>

Izhod:

techcodeview.com>

Modifikator javnega dostopa

Modifikator javnega dostopa je določen s ključno besedo javnosti .

  • Modifikator javnega dostopa ima najširši obseg med vsemi drugimi modifikatorji dostopa.
  • Razredi, metode ali podatkovni člani, ki so deklarirani kot javni, so dostopen od vsepovsod v programu. Omejitev glede obsega članov javnih podatkov ni.

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

Izhod:

zamenjaj niz v Javi
techcodeview.com>

Pomembne točke:

  • Če drugi programerji uporabljajo vaš razred, poskusite uporabiti najbolj restriktivno raven dostopa, ki je smiselna za določenega člana. Uporabite zasebno, razen če imate dober razlog, da tega ne storite.
  • Izogibajte se javnim poljem, razen konstantam.

Algoritem za uporabo modifikatorja dostopa v Javi

Tukaj je osnovni algoritem za uporabo modifikatorjev dostopa v Javi:

  • Določite razred: Ustvarite razred, ki predstavlja predmet, ki ga želite upravljati.
  • Definirajte spremenljivke primerka: Znotraj razreda definirajte spremenljivke instance, ki predstavljajo podatke, ki jih želite upravljati.
  • Določite modifikator dostopa: Za vsako spremenljivko primerka podajte modifikator dostopa, ki določa vidnost spremenljivke. Trije glavni modifikatorji dostopa v Javi so zasebni, zaščiteni in javni.
  • Uporabite private za spremenljivke, ki bi morale biti dostopne samo znotraj razreda: Če želite preprečiti dostop do spremenljivke zunaj razreda, uporabite modifikator zasebnega dostopa. To je najbolj restriktiven modifikator dostopa in zagotavlja najvišjo stopnjo enkapsulacije.
  • Uporabite zaščiteno za spremenljivke, ki bi morale biti dostopne znotraj razreda in njegovih podrazredov : Če želite dovoliti dostop do spremenljivke znotraj razreda in njegovih podrazredov, uporabite modifikator zaščitenega dostopa. To je manj omejujoče kot zasebno in zagotavlja določeno raven dedovanja.
  • Uporabite public za spremenljivke, ki bi morale biti dostopne od koder koli : Če želite dovoliti dostop do spremenljivke od koder koli, uporabite modifikator javnega dostopa. To je najmanj omejujoč modifikator dostopa in zagotavlja najmanjšo količino enkapsulacije.
  • Za upravljanje dostopa do spremenljivk uporabite metode dostopnika in mutatorja: Če želite dostopati do spremenljivk in jih spreminjati, uporabite metode dostopnika (getter) in mutatorja (setter), tudi če imajo spremenljivke modifikator javnega dostopa. To zagotavlja raven abstrakcije in naredi vašo kodo bolj vzdržljivo in jo je mogoče preizkusiti.

Pogosta vprašanja v modifikatorjih dostopa

1. Kaj so modifikatorji dostopa v Javi?

Modifikatorji dostopa v Javi so ključne besede, ki se uporabljajo za nadzor uporabe metod, konstruktorjev, polj in metod v razredu.

2. Kaj je praznina v Javi?

Void se v Javi uporablja za podajanje brez povratne vrednosti z metodo.

3. Katerih je 12 modifikatorjev v Javi?

12 Modifikatorji v Javi so javni, zasebni, zaščiteni, privzeti, končni, sinhronizirani, abstraktni, izvorni, strictfp, prehodni in nestanovitni.