în Java, modificatorii Access ajută la restricționarea domeniului unei clase, constructor, variabilă, metodă sau membru de date. Oferă securitate, accesibilitate etc. utilizatorului, în funcție de modificatorul de acces utilizat cu elementul. În acest articol, să aflăm despre modificatorii de acces Java, tipurile acestora și despre utilizările modificatorilor de acces.
Tipuri de modificatori de acces în Java
Există patru tipuri de modificatori de acces disponibile în Java:
- Implicit – Nu este necesar niciun cuvânt cheie
- Privat
- Protejat
- Public
1. Modificator de acces implicit
Când nu este specificat niciun modificator de acces pentru o clasă, o metodă sau un membru de date - Se spune că are Mod implicit modificator de acces implicit. Membrii de date, clasele sau metodele care nu sunt declarate folosind modificatori de acces, adică care au modificatori de acces impliciti, sunt accesibile doar in cadrul aceluiasi pachet .
În acest exemplu, vom crea două pachete și clasele din pachete vor avea modificatorii de acces implicit și vom încerca să accesăm o clasă dintr-un pachet dintr-o clasă a celui de-al doilea pachet.
Programul 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!'); } }>
Programul 2:
forma completă a i d eJava
// 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(); } }> Ieșire:
Compile time error>
2. Modificator de acces privat
Modificatorul de acces privat este specificat folosind cuvântul cheie privat . Metodele sau membrii datelor declarate ca private sunt accesibile numai în cadrul clasei în care sunt declarate.
- Oricare altul clasa de cel același pachet nu va putea accesa aceşti membri.
- Clasele sau interfețele de nivel superior nu pot fi declarate ca private deoarece
- privat înseamnă vizibil numai în cadrul clasei de anexare.
- protejat înseamnă vizibil numai în cadrul clasei de încadrare și a oricăror subclase
Prin urmare, acești modificatori în ceea ce privește aplicarea la clase, se aplică numai claselor imbricate și nu claselor de nivel superior
În acest exemplu, vom crea două clase A și B în cadrul aceluiași pachet p1. Vom declara o metodă din clasa A ca fiind privată și vom încerca să accesăm această metodă din clasa B și vom vedea rezultatul.
cum se deschide un fișier cu javaJava
// 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(); } }> Ieșire:
error: display() has private access in A obj.display();>
3. Modificator de acces protejat
Modificatorul de acces protejat este specificat folosind cuvântul cheie protejat .
Metodele sau membrii datelor declarați ca protejați sunt accesibil în cadrul aceluiași pachet sau subclase în pachete diferite.
În acest exemplu, vom crea două pachete p1 și p2. Clasa A din p1 este făcută publică, pentru a o accesa în p2. Afișarea metodei din clasa A este protejată și clasa B este moștenită din clasa A și această metodă protejată este apoi accesată prin crearea unui obiect din clasa B.
Programul 1:
Java // Java Program to Illustrate // Protected Modifier package p1; // Class A public class A { protected void display() { System.out.println('techcodeview.com'); } }>
Programul 2:
// 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(); } }> Ieșire:
techcodeview.com>
Modificator de acces public
Modificatorul de acces public este specificat folosind cuvântul cheie public .
sonu nigam
- Modificatorul de acces public are cel mai larg domeniu printre toți ceilalți modificatori de acces.
- Clasele, metodele sau membrii datelor care sunt declarate publice sunt accesibil de pretutindeni în program. Nu există nicio restricție privind sfera de aplicare a membrilor datelor publice.
Programul 1:
Java // Java program to illustrate // public modifier package p1; public class A { public void display() { System.out.println('techcodeview.com'); } }> Programul 2:
Java package p2; import p1.*; class B { public static void main(String args[]) { A obj = new A(); obj.display(); } }> Ieșire:
techcodeview.com>
Puncte importante:
- Dacă alți programatori vă folosesc clasa, încercați să utilizați cel mai restrictiv nivel de acces care are sens pentru un anumit membru. Folosiți privat, cu excepția cazului în care aveți un motiv întemeiat să nu o faceți.
- Evitați câmpurile publice, cu excepția constantelor.
Algoritm pentru utilizarea modificatorului de acces în Java
Iată un algoritm de bază pentru utilizarea modificatorilor de acces în Java:
- Definiți o clasă: Creați o clasă care reprezintă obiectul pe care doriți să îl gestionați.
- Definiți variabilele de instanță: În cadrul clasei, definiți variabile de instanță care reprezintă datele pe care doriți să le gestionați.
- Specificați un modificator de acces: pentru fiecare variabilă de instanță, specificați un modificator de acces care determină vizibilitatea variabilei. Cei trei modificatori principali de acces în Java sunt privat, protejat și public.
- Utilizați private pentru variabilele care ar trebui să fie accesibile numai în cadrul clasei: Dacă doriți să împiedicați accesul la o variabilă din afara clasei, utilizați modificatorul de acces privat. Acesta este cel mai restrictiv modificator de acces și oferă cel mai mare nivel de încapsulare.
- Utilizați protejat pentru variabilele care ar trebui să fie accesibile în cadrul clasei și subclaselor sale : Dacă doriți să permiteți accesul la o variabilă din cadrul clasei și subclaselor acesteia, utilizați modificatorul de acces protejat. Acest lucru este mai puțin restrictiv decât privat și oferă un anumit nivel de moștenire.
- Utilizați public pentru variabilele care ar trebui să fie accesibile de oriunde : Dacă doriți să permiteți accesul la o variabilă de oriunde, utilizați modificatorul de acces public. Acesta este modificatorul de acces cel mai puțin restrictiv și oferă cea mai mică cantitate de încapsulare.
- Folosiți metode accesorii și mutatoare pentru a gestiona accesul la variabile: Pentru a accesa și modifica variabilele, utilizați metodele accesor (getter) și mutator (setter), chiar dacă variabilele au un modificator de acces public. Acest lucru oferă un nivel de abstractizare și face codul mai ușor de întreținut și mai testabil.
Întrebări frecvente în Modificatorii de acces
1. Ce sunt modificatorii de acces în Java?
Modificatorii de acces în Java sunt cuvintele cheie care sunt folosite pentru a controla utilizarea metodelor, constructorilor, câmpurilor și metodelor dintr-o clasă.
2. Ce este void în Java?
Void în Java este folosit pentru a specifica nicio valoare returnată cu metoda.
3. Care sunt cei 12 modificatori din Java?
12 Modificatorii din Java sunt publici, privati, protejați, implicit, finali, sincronizați, abstracti, nativi, strictfp, tranzitori și volatili.