logo

Pasiekite modifikatorius Java

Java programoje Access modifikatoriai padeda apriboti klasės, konstruktoriaus, kintamojo, metodo ar duomenų nario apimtį. Priklausomai nuo su elementu naudojamo prieigos modifikatoriaus, jis suteikia vartotojui saugumą, prieinamumą ir kt. Šiame straipsnyje sužinokime apie „Java“ prieigos modifikatorius, jų tipus ir prieigos modifikatorių naudojimą.

„Java“ prieigos modifikatorių tipai

„Java“ yra keturių tipų prieigos modifikatoriai:



  1. Numatytasis – raktinio žodžio nereikia
  2. Privatus
  3. Apsaugotas
  4. Viešas

1. Numatytasis prieigos modifikatorius

Kai klasei, metodui ar duomenų nariui nenurodytas prieigos modifikatorius – sakoma, kad jis turi numatytas prieigos modifikatorius pagal numatytuosius nustatymus. Duomenų nariai, klasės ar metodai, kurie nėra deklaruoti naudojant jokius prieigos modifikatorius, t. y. turinčius numatytuosius prieigos modifikatorius, yra prieinami tik toje pačioje pakuotėje .

Šiame pavyzdyje mes sukursime du paketus, o paketų klasės turės numatytuosius prieigos modifikatorius ir bandysime pasiekti klasę iš vieno paketo iš antrojo paketo klasės.

1 programa:



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!');   }  }>


2 programa:

java pasirinkimo rūšiavimas
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();   }  }>

Išvestis:

Compile time error>

2. Privačios prieigos modifikatorius

Privačios prieigos modifikatorius nurodomas naudojant raktinį žodį privatus . Metodai ar duomenų nariai, paskelbti privačiais, yra prieinami tik klasės viduje kuriame jie deklaruojami.



  • Bet kuris kitas klasė į nebus galima pasiekti to paties paketo šie nariai.
  • Aukščiausio lygio klasės ar sąsajos negali būti paskelbtos privačiomis, nes
    • privatus reiškia, kad jis matomas tik uždarojoje klasėje.
    • apsaugotas reiškia, kad jis matomas tik įtraukiančioje klasėje ir bet kuriuose poklasiuose

Taigi šie modifikatoriai, taikomi klasėms, taikomi tik įdėtoms klasėms, o ne aukščiausio lygio klasėms

Šiame pavyzdyje tame pačiame pakete p1 sukursime dvi A ir B klases. Mes paskelbsime metodą A klasėje kaip privatų ir bandysime pasiekti šį metodą iš B klasės ir pamatysime rezultatą.

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

Išvestis:

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

3. Apsaugotos prieigos modifikatorius

Apsaugotos prieigos modifikatorius nurodomas naudojant raktinį žodį apsaugotas .

Metodai arba duomenų nariai, paskelbti saugomais, yra prieinama tame pačiame pakete arba poklasiuose skirtinguose paketuose.

Šiame pavyzdyje mes sukursime du paketus p1 ir p2. A klasė p1 yra paskelbta viešai, norint ją pasiekti p2. A klasės metodo rodymas yra apsaugotas, o B klasė paveldima iš A klasės, o šis apsaugotas metodas pasiekiamas sukuriant B klasės objektą.

1 programa:

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


2 programa:

kaip pervardyti katalogą linux
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();  } }>

Išvestis:

techcodeview.com>

Viešosios prieigos modifikatorius

Viešosios prieigos modifikatorius nurodomas naudojant raktinį žodį viešas .

  • Viešosios prieigos modifikatorius turi plačiausia apimtis tarp visų kitų prieigos modifikatorių.
  • Klasės, metodai arba duomenų nariai, paskelbti kaip vieši, yra pasiekiamas iš visur programoje. Viešųjų duomenų narių apimtis nėra ribojama.

1 programa:

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

2 programa:

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

Išvestis:

techcodeview.com>

Svarbūs punktai:

  • Jei kiti programuotojai naudoja jūsų klasę, pabandykite naudoti labiausiai ribojantį prieigos lygį, kuris tinka konkrečiam nariui. Naudokite privačiai, nebent turite rimtos priežasties to nedaryti.
  • Venkite viešų laukų, išskyrus konstantas.

„Java“ prieigos modifikatoriaus naudojimo algoritmas

Štai pagrindinis „Java“ prieigos modifikatorių naudojimo algoritmas:

  • Apibrėžkite klasę: Sukurkite klasę, vaizduojančią objektą, kurį norite valdyti.
  • Apibrėžkite egzempliorių kintamuosius: Klasėje apibrėžkite egzempliorių kintamuosius, atspindinčius norimus tvarkyti duomenis.
  • Nurodykite prieigos modifikatorių: kiekvienam egzemplioriaus kintamajam nurodykite prieigos modifikatorių, kuris nustato kintamojo matomumą. Trys pagrindiniai „Java“ prieigos modifikatoriai yra privatūs, apsaugoti ir vieši.
  • Naudokite privatų kintamiesiems, kurie turėtų būti pasiekiami tik klasėje: Jei norite neleisti pasiekti kintamojo iš klasės ribų, naudokite privačios prieigos modifikatorių. Tai labiausiai ribojantis prieigos modifikatorius ir užtikrina didžiausią inkapsuliavimo lygį.
  • Naudokite apsaugotą kintamiesiems, kurie turėtų būti prieinami klasėje ir jos poklasiuose : Jei norite leisti pasiekti kintamąjį iš klasės ir jos poklasių, naudokite apsaugotą prieigos modifikatorių. Tai yra mažiau ribojanti nei privati ​​ir suteikia tam tikrą paveldėjimo lygį.
  • Naudokite viešą kintamiesiems, kurie turėtų būti pasiekiami iš bet kurios vietos : jei norite leisti prieigą prie kintamojo iš bet kurios vietos, naudokite viešosios prieigos modifikatorių. Tai mažiausiai ribojantis prieigos modifikatorius ir suteikia mažiausiai inkapsuliacijos.
  • Norėdami valdyti prieigą prie kintamųjų, naudokite prieigos ir mutatoriaus metodus: Norėdami pasiekti ir modifikuoti kintamuosius, naudokite prieigos (getter) ir mutatoriaus (setter) metodus, net jei kintamieji turi viešosios prieigos modifikatorių. Tai suteikia tam tikrą abstrakcijos lygį ir daro jūsų kodą lengviau prižiūrimą ir testuojamą.

DUK skiltyje Prieigos modifikatoriai

1. Kas yra „Java“ prieigos modifikatoriai?

„Java“ prieigos modifikatoriai yra raktiniai žodžiai, naudojami metodų, konstruktorių, laukų ir metodų naudojimui klasėje valdyti.

2. Kas galioja Java?

„Java“ negalioja naudojamas norint nenurodyti grąžinamos vertės naudojant metodą.

3. Kokie yra 12 Java modifikatorių?

12 „Java“ modifikatorių yra vieši, privatūs, apsaugoti, numatytieji, galutiniai, sinchronizuoti, abstraktūs, vietiniai, strictfp, trumpalaikiai ir nepastovios.