i Java hjælper Access-modifikatorer med at begrænse omfanget af en klasse, konstruktør, variabel, metode eller datamedlem. Det giver sikkerhed, tilgængelighed osv. til brugeren afhængigt af den adgangsmodifikator, der bruges med elementet. Lad os lære om Java-adgangsmodifikatorer, deres typer og brugen af adgangsmodifikatorer i denne artikel.
Typer af adgangsmodifikatorer i Java
Der er fire typer adgangsmodifikatorer tilgængelige i Java:
- Standard – Intet nøgleord påkrævet
- Privat
- Beskyttet
- Offentlig
1. Standardadgangsmodifikator
Når der ikke er angivet nogen adgangsmodifikator for en klasse, metode eller datamedlem – siges det at have Standard adgangsmodifikator som standard. De datamedlemmer, klasser eller metoder, der ikke er erklæret ved hjælp af nogen adgangsmodifikatorer, dvs. som har standardadgangsmodifikatorer, er tilgængelige kun i samme pakke .
I dette eksempel vil vi oprette to pakker, og klasserne i pakkerne vil have standardadgangsmodifikatorerne, og vi vil forsøge at få adgang til en klasse fra en pakke fra en klasse i den anden pakke.
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:
css centrering af et billedeJava
// 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(); } }>
Produktion:
Compile time error>
2. Modifikator for privat adgang
Den private adgangsmodifikator er angivet ved hjælp af nøgleordet privat . De metoder eller datamedlemmer, der er erklæret som private, er kun tilgængelige inden for klassen hvori de er deklareret.
- Enhver anden klasse af det samme pakke vil ikke være i stand til at få adgang til disse medlemmer.
- Klasser eller grænseflader på øverste niveau kan ikke erklæres som private pga
- privat betyder kun synlig inden for den omsluttende klasse.
- beskyttet betyder kun synlig inden for den omsluttende klasse og eventuelle underklasser
Derfor gælder disse modifikatorer med hensyn til anvendelse på klasser kun for indlejrede klasser og ikke på klasser på øverste niveau
I dette eksempel vil vi oprette to klasser A og B i den samme pakke p1. Vi vil erklære en metode i klasse A som privat og forsøge at få adgang til denne metode fra klasse B og se resultatet.
returnerer et array 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(); } }>
Produktion:
error: display() has private access in A obj.display();>
3. Protected Access Modifier
Den beskyttede adgangsmodifikator er angivet ved hjælp af nøgleordet beskyttet .
De metoder eller datamedlemmer, der er erklæret som beskyttede, er tilgængelig i den samme pakke eller underklasser i forskellige pakker.
I dette eksempel vil vi oprette to pakker p1 og p2. Klasse A i p1 er offentliggjort for at få adgang til det i p2. Metodevisningen i klasse A er beskyttet, og klasse B er nedarvet fra klasse A, og denne beskyttede metode tilgås derefter ved at oprette et objekt af klasse 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 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(); } }>
Produktion:
techcodeview.com>
Modifikator for offentlig adgang
Offentlig adgangsmodifikator er angivet ved hjælp af nøgleordet offentlig .
det dejligste smil i verden
- Offentlig adgangsmodifikator har bredeste rækkevidde blandt alle andre adgangsmodifikatorer.
- Klasser, metoder eller datamedlemmer, der er erklæret som offentlige, er tilgængelig overalt i programmet. Der er ingen begrænsning på omfanget af offentlige datamedlemmer.
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(); } }>
Produktion:
techcodeview.com>
Vigtige punkter:
- Hvis andre programmører bruger din klasse, så prøv at bruge det mest restriktive adgangsniveau, der giver mening for et bestemt medlem. Brug privat, medmindre du har en god grund til at lade være.
- Undgå offentlige felter undtagen konstanter.
Algoritme til at bruge adgangsmodifikator i Java
Her er en grundlæggende algoritme til brug af adgangsmodifikatorer i Java:
- Definer en klasse: Opret en klasse, der repræsenterer det objekt, du vil administrere.
- Definer instansvariabler: Inden for klassen skal du definere instansvariabler, der repræsenterer de data, du vil administrere.
- Angiv en adgangsmodifikator: For hver forekomstvariabel skal du angive en adgangsmodifikator, der bestemmer variablens synlighed. De tre vigtigste adgangsmodifikatorer i Java er private, beskyttede og offentlige.
- Brug private til variabler, der kun bør være tilgængelige i klassen: Hvis du vil forhindre adgang til en variabel uden for klassen, skal du bruge den private adgangsmodifikator. Dette er den mest restriktive adgangsmodifikator og giver det højeste niveau af indkapsling.
- Brug beskyttet til variabler, der skal være tilgængelige inden for klassen og dens underklasser : Hvis du vil tillade adgang til en variabel fra klassen og dens underklasser, skal du bruge den beskyttede adgangsmodifikator. Dette er mindre restriktivt end privat og giver et vist niveau af arv.
- Brug offentlig til variabler, der skal være tilgængelige hvor som helst : Hvis du vil tillade adgang til en variabel fra et hvilket som helst sted, skal du bruge public access modifier. Dette er den mindst restriktive adgangsmodifikator og giver den mindste mængde indkapsling.
- Brug accessor- og mutatormetoder til at administrere adgangen til variablerne: For at få adgang til og ændre variablerne skal du bruge accessor (getter) og mutator (setter) metoder, selvom variablerne har en offentlig adgangsmodifikator. Dette giver et abstraktionsniveau og gør din kode mere vedligeholdelsesvenlig og testbar.
Ofte stillede spørgsmål i Adgangsmodifikatorer
1. Hvad er adgangsmodifikatorer i Java?
Adgangsmodifikatorer i Java er de nøgleord, der bruges til at kontrollere brugen af metoderne, konstruktørerne, felterne og metoderne i en klasse.
2. Hvad er void i Java?
Void i Java bruges til at angive ingen returværdi med metoden.
3. Hvad er de 12 modifikatorer i Java?
12 Modifikatorer i Java er offentlige, private, beskyttede, standard, endelige, synkroniserede, abstrakte, native, strictfp, forbigående og flygtige.