Du måste ha sett offentliga, privata och skyddade sökord medan du övar java-program, dessa kallas access modifiers. En åtkomstmodifierare begränsar åtkomsten för en klass, konstruktör, datamedlem och metod i en annan klass. I java har vi fyra åtkomstmodifierare:
1. standard
2. privat
3. skyddad
4. public
standardåtkomstmodifierare
När vi inte nämner någon åtkomstmodifierare kallas den standardåtkomstmodifierare., Omfattningen av denna modifierare är begränsad till paketet endast. Det betyder att om vi har en klass med standardåtkomstmodifieraren i ett paket kan endast de klasser som finns i det här paketet komma åt den här klassen. Ingen annan klass utanför detta paket kan komma åt den här klassen. På samma sätt, om vi har en standardmetod eller datamedlem i en klass, skulle det inte vara synligt i klassen i ett annat paket. Låt oss se ett exempel för att förstå detta:
Standardåtkomstmodifieringsexempel i Java
för att förstå detta exempel måste du ha kunskap om paket i java.,
i det här exemplet har vi två klasser, Testklass försöker komma åt standardmetoden för Tilläggsklass, eftersom klasstest tillhör ett annat paket, skulle detta program kasta kompileringsfel, eftersom omfattningen av standardmodifieraren är begränsad till samma paket där den deklareras.
tillägg.java
Test.java
Output:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method addTwoNumbers(int, int) from the type Addition is not visibleat xyzpackage.Test.main(Test.java:12)
private access modifier
omfattningen av privata modifierare är begränsad till klassen endast.,
- privata datamedlemmar och metoder är endast tillgängliga inom klassen
- klass och gränssnitt kan inte deklareras som privata
- om en klass har privat konstruktör kan du inte skapa objektet för den klassen utanför klassen.
låt oss se ett exempel för att förstå detta:
private access modifier example in java
det här exemplet kastar kompileringsfel eftersom vi försöker komma åt den privata datamedlemmen och metoden för klass ABC i klassexemplet. Den privata datamedlemmen och metoden är endast tillgängliga inom klassen.,
utgång:
Compile - time error
skyddad åtkomstmodifierare
skyddad datamedlem och metod är endast tillgängliga av klasserna i samma paket och de underklasser som finns i ett paket. Du kan också säga att den skyddade åtkomstmodifieraren liknar standardåtkomstmodifieraren med ett undantag att den har synlighet i underklasser.
klasser kan inte deklareras skyddade. Denna åtkomstmodifierare används i allmänhet i en överordnad underordnad relation.,
exempel på skyddad åtkomstmodifierare i Java
i det här exemplet kan klasstestet som finns i ett annat paket anropa metodenaddTwoNumbers()
, som deklareras skyddad. Detta beror på att Testklassen utökar klasstillägg och den skyddade modifieraren tillåter åtkomst av skyddade medlemmar i underklasser (i alla paket).
tillägg.java
package abcpackage;public class Addition { protected int addTwoNumbers(int a, int b){return a+b; }}
– Test.java
Output:
33
public access modifier
medlemmar, metoder och klasser som förklaras offentliga kan nås från var som helst., Denna modifierare inte sätta någon begränsning på åtkomst.
public access modifier exempel i java
kan ta samma exempel som vi har sett ovan men den här gången metoden addTwoNumbers () har Offentlig modifierare och klass Test kan komma åt denna metod utan att ens utvidga Tilläggsklassen. Detta beror på att Offentlig modifierare har synlighet överallt.
tillägg.java
package abcpackage;public class Addition { public int addTwoNumbers(int a, int b){return a+b; }}
Testa.,java
utgång:
101
Låt oss se omfattningen av dessa accessmodifierare i tabellform:
Lämna ett svar