Åtkomstmodifierare i Java: Allt du behöver veta



Den här artikeln hjälper dig att förstå vad som är åtkomstmodifierare i Java och lära dig om de olika typerna som offentligt, privat, skyddat och standard.

Åtkomstmodifierare i Java används för att ange åtkomstnivåer för klasser, variabla metoder och konstruktör.Det hjälper till att uppdatera värdet på a . De är också kända som synlighet redigera. Genom den här bloggen hjälper jag dig att förstå vad som är viktigt med åtkomstmodifierare i .

Jag kommer att behandla ämnena i följande ordning:





Låt oss börja med det första ämnet.

Vad är Access Modifier?



Du kanske har stött på offentlig , privat och skyddade nyckelord medan du övar på något , dessa kallas Access Modifiers.Som namnet antyder hjälper Access Modifiers i Java till att begränsa omfattningen av en klass, konstruktör, variabel, metod eller datamedlem.

Åtkomstmodifierare kan specificeras separat för en klass, konstruktörer,fält och metoder. De kallas också Java-åtkomstspecifikatorer , men rätt namn är Java-åtkomstmodifierare .

Så, låt oss gräva djupt i de olika typerna av åtkomstmodifierare i Java.



Typer av åtkomstmodifierare

Det finns fyra åtkomstmodifierande nyckelord i och de är:

  • Standardåtkomstmodifierare
  • Privat åtkomstmodifierare
  • Public Access Modifier
  • Skyddad åtkomstmodifierare

Låt oss lära oss mer om var och en av dem.

Standardåtkomstmodifierare

När ingen åtkomstmodifierare har specificerats för en viss klass, metod eller en datamedlem sägs den ha den standard åtkomst redigera.

Datumet medlemmar, eller metoder som inte deklareras med användning av ingångsmodifierare, kommer att ha standardmodifieraren som endast är tillgänglig i en liknande bunt. denbetyder att du inte uttryckligen förklarar en åtkomstmodifierare för en klass, fält, metod etc.

Exempel:

paket p1 // Klasskurs har standardåtkomstmodifierarkurs Kurs {ogiltig visning () {System.out.println ('Hello World!')}}

Låt oss sedan gå vidare till nästa typ, privat åtkomstmodifierare.

Privat åtkomstmodifierare

  • Metoderna eller datamedlemmarna som deklareras som privata är endast tillgängliga inom den klass där de deklareras.
  • Högsta klasser eller gränssnitt kan inte förklaras som privata med tanke på att
    • Privat betyder ' bara synlig i den omslutande klassen '.
    • Skyddad betyder “ j det märks inte i den slutande klassen och alla underklasser '.
  • Om en klass hartillprivat konstruktör då kan du inte skapa objektet för den klassen utanför klassen.
  • Klasser kan inte markeras med privat åtkomstmodifierare .
  • Att beteckna en klass med modifieraren för privat åtkomst skulle innebära att ingen annan klass kunde komma till den. Detta innebär i allmänhet att du inte kan använda klassen på något sätt av fantasin. På detta sätt tar den privata åtkomstmodifieraren inte hänsyn till klasser.

Notera : Klass eller gränssnitt kan inte förklaras som privat.

Syntax:

offentlig klassklocka {privat lång tid = 0}

Ta en titt på ett exempel för att få en tydlig uppfattning om denna modifierare för privat åtkomst.

__init__ i python

Exempel:

paket p klass A {privat ogiltig display () {System.out.println ('Edureka')}} klass B {offentlig statisk tomrum huvud (String args []) {A obj = ny A () // försöker få tillgång till privat metod för en annan klass obj.display ()}}

Resultatet av detta program är:

fel: display () har privat åtkomst i A.

obj.display ()

Hoppas ni är klara med privat åtkomstmodifierare. Därefter går vi vidare till nästa typ, modifierare för allmän åtkomst.

Public Access Modifier

  • Modifieraren för allmän tillgång anges med hjälp av nyckelordet offentlig.
  • Den allmänna åtkomstmodifieraren har ett brett omfång bland alla andra åtkomstmodifierare.
  • , metoder eller datamedlemmar som deklareras som offentlig är tillgänglig överallt programmet. Det finns ingen begränsning av omfattningen av medlemmar i den offentliga datan.

Syntax:

paket edureka.co public class PublicClassDemo {// Här nämnde jag inte någon modifierare så den fungerar som standardmodifierare public int myMethod (int x) {return x}}

Ta nu en titt på ett exempel för att få en tydlig uppfattning om den här modifieraren för allmän tillgång.

Exempel:

paket p1 offentlig klass A {public void display () {System.out.println ('edureka!')}}
paket p2 import p1. * klass B {public static void main (String args []) {A obj = new A obj.display ()}}

Utgång: edureka!

Det här handlar om modifieringsmedel för allmänheten i Java.

Låt oss gå vidare till nästa åtkomstmodifierare i Java, skyddade åtkomstmodifierare.

Skyddad åtkomstmodifierare

  • Den skyddade åtkomstmodifieraren anges med hjälp av nyckelordet skyddade .
  • Metoderna eller datamedlemmarna som deklarerats som skyddade är tillgängliga inom samma paket eller underklasser i ett annat paket.
  • Skyddade medlemmar kan endast nås i barn- eller härledda klasser.

Syntax:

paketpaketFourProtected public class ProtectedClassFour {skyddad int myMethod (int a) {return a}}

Låt oss ta en titt på ett exempel.

Exempel:

spackage p1 // Klass A offentlig klass A {skyddad ogiltig skärm () {System.out.println ('Java Certification Training')}}
paket p2 import p1. * // importera alla klasser i paket p1 // Klass B är underklass A klass B sträcker sig A | {public static void main (String args []) {B obj = new B () obj.display ()}}

Output - Åtkomstmodifierare i Java - Edureka

Detta är allt du behöver veta om de olika metoderna under åtkomstmodifierarna i Java. Låt oss gå vidare till nästa ämne.

Åtkomstmodifierare med åsidosättande av metod

Om du i fallet åsidosätter någon metod får den åsidosatta metoden som deklareras i underklassen inte vara begränsande.

Ta en titt på exemplet nedan.

klass A {skyddad ogiltig msg () {System.out.println ('Hello java')}} offentlig klass Enkel utökar A {void msg () {System.out.println ('Hello java')} // CTError public statisk ogiltig huvud (String args []) {Simple obj = new Simple () obj.msg ()}}

Standardmodifieraren är mer restriktiv än skyddad. Det är därför det finns ett kompileringsfel.

Åtkomstkontroll och arv

  • Om du i fall skapar en underklass av någon klass kan metoderna i den underklassen inte ha mindre tillgängliga åtkomstmodifierare än superklassen.
  • Till exempel om en metod i superklassen är offentlig då måste det också vara offentligt i underklassen. Om en metod i superklassen är skyddade, då måste den antingen vara skyddad eller offentlig i den angivna underklassen.
  • Metoder som deklarerats som privata ärvs inte alls.

Detta leder oss till slutet av den här artikeln där vi har lärt oss på Access-modifierarna i Java. Hoppas att du är tydlig med allt som har delats med dig i denna handledning.

Se till att du tränar så mycket som möjligt och återgår till din upplevelse.

Om du tyckte att den här artikeln om 'Access Modifiers in Java' var relevant, kolla in ett pålitligt online-lärande företag med ett nätverk med mer än 250 000 nöjda elever spridda över hela världen. Vi är här för att hjälpa dig med varje steg på din resa, för att bli en förutom de här Java-intervjufrågorna, kommer vi med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Om du stöter på några frågor är du välkommen att ställa alla dina frågor i kommentarfältet i 'Access Modifiers in Java' så svarar vårt team gärna.