Introduktion till åtkomstmodifierare i Java

Som vi alla vet är Java ett av världens bästa programmeringsspråk. Miljarder enheter litar på det under de senaste två decennierna. Java är ett snabbt, pålitligt, säkert och multiplattformsspråk. Java körs på alla enheter så länge den enheten har Java Runtime (JRE), vilket gör den till flera plattformar, snabbt och pålitligt språk. Access-modifierare tillhör java, vilket gör det säkert över flera plattformar. Java tillhandahåller säkerhetsnivå på klassnivå (under kapsling) till programmeraren genom att använda åtkomstmodifieringsegenskapen. Enligt boken är klass planen för att bygga ett objekt i java, vilket gör det till 'byggsten' för programmet eftersom Java är ett objektorienterat språk. En åtkomstmodifierare anger hur vilken klass som helst kan komma åt en viss klass och dess fält, konstruktörer och metoder inom och olika paket. Klass, fält, konstruktörer och metoder kan ha en av fyra olika Java-åtkomstmodifierare.

  • Privat
  • offentlig
  • Skyddade
  • Standard - Inget nyckelord krävs.

Olika åtkomstmodifierare i Java

Följande tabell sammanfattar hur vi kan tillämpa Java-åtkomstmodifierare på programmet:

modifierareKlasspaketUnderklassVärld
PrivatYNNN
offentligYYYY
SkyddadeYYYN
StandardYYNN

Vi kommer att täcka varje Java-åtkomstmodifierare i följande avsnitt.

1) Standard

När någon klass, datamedlemmar och variabeln deklareras genom att inte skriva med en åtkomstmodifierare, är den inställd på 'standard' åtkomstmodifierare. Åtkomstmodifieraren "standard" betyder att koden i vilken klass som helst kan komma åt hela programmet i samma paket.

  • Denna åtkomstmodifierare fungerar endast i samma paket.
  • Ibland kallas 'standard' åtkomstmodifierare också som en paketåtkomstmodifierare, eftersom den endast är tillgänglig inom samma paket.
  • Underklasser kan inte få åtkomst till metoder, datamedlemmar och variabler (fält) i superklassen, om dessa metoder, datamedlemmar och variabler (fält) markerade med 'standard' åtkomstmodifieraren i klassen såvida inte dessa underklasser finns i samma paket som superklass.

Exempel 1:

//Java program to show the default modifier.
package Test;
//Where Class eduCBA is having Default access modifier as no access modifier is specified here
class eduCBA
(
void display ()
(
System.out.println("Hello World!");
)
)

Produktion:

Hej världen!

Exempel 2:

//Java program to show error while using class from different package with default modifier
package test2;
import test.*;
//This class check is having default access modifier
class Check
(
public static void main(String args())
(
//accessing class eduCBA from package test
eduCBA obj = new eduCBA();
obj.display();
)
)

Produktion:

Kompilera tidsfel.

2) Skyddad

Syntax 'skyddad' används av användare när de vill använda den här åtkomstmodifieraren.

  • Denna åtkomstmodifierare är endast tillgänglig inom samma paket eller samma underklasser i olika klasser (men användare måste importera det paketet där det anges).
  • Användaren kan inte markera klass och gränssnitt med 'skyddad' åtkomstmodifierare. Metoder och fält kan dock deklareras som skyddade om metoder och fält finns i ett gränssnitt.

Till exempel:

//Java program to show to protected access modifier
package test;
//Class eduCBA
public class eduCBA
(
protected void display ()
(
System.out.println("Hello World!");
)
)
//Java program to show to protected modifier in same sub-classes of different packages
package test2;
import test.*;
//Class pro is subclass of eduCBA
class pro extends eduCBA
(
public static void main(String args())
(
pro obj = new pro();
obj.display();
)
)

Produktion:

Hej världen!

3) Offentligt

Användaren kan deklarera en klass, metod, konstruktör och gränssnitt med en "offentlig" åtkomstmodifierare, som kan komma åt vilken klass, metod, konstruktör och gränssnitt som helst i eller olika paket.

  • Denna åtkomstmodifierare har gränslös bland alla modifierare.
  • När någon klass, metoder eller paket markerat med 'allmän' åtkomstmodifierare, där det är tillgängligt för alla från överallt från programmet.
  • Det finns inga begränsningar i omfattningen av "allmän" tillgångsklass, metoder.

Till exempel: -

//Java program to show to public access modifier
package test;
public class eduCBA
(
public void display ()
(
System.out.println("Hello World!");
)
)
package test2;
import test.*;
class pub
(
public static void main (String args ())
(
eduCBA obj = new eduCBA ();
obj.display ();
)
)

Produktion:

Hej världen!

4) Privat

När en metod eller variabel markerad som 'privata' åtkomstmodifierare kan kod inom samma klass endast få åtkomst till dessa metoder och variabler.

Användaren kan inte förklara någon superklass med 'privat' åtkomstmodifierare i programmet och om användaren gör det med någon klass, gör det den klassen inte tillgänglig för någon annan klass i samma paket som gör klass ingen att använda även om användaren kan deklarera variabler och metoder inom klassen med 'privat' åtkomstmodifierare så att ingen kan använda dessa variabler och metoder.

Ibland blev människor förvirrade med "privat" och "skyddad" åtkomstmodifierare, men båda är olika.

Till exempel: -

//Program to show error while using a class from different packages with private modifier.
package test;
class eduCBA
(
private void display()
(
System.out.println("Hello World!");
)
)
class Check
(
public static void main (String args())
(
eduCBA obj = new eduCBA();
//make class check to access private method of another class eduCBA.
obj.display();
)
)

Produktion:

fel: display () har privat åtkomst i eduCBA obj.display ();

Slutsats

Java-åtkomstmodifierare ger dig en extra fördel över ditt program när du gör det offentligt. Som vi studerar ovan, olika typer av åtkomstmodifierare i JAVA och deras specifikation.

Tänk så på varje gång du använder en av dem som klass- eller gränssnittsåtkomst eftersom de inte bara ger åtkomst utan också åsidosätter dem. Även om det alltid finns en oro när det gäller metodens tillgänglighet i programmet. Till exempel, om ett gränssnitt tilldelas 'standard' åtkomstmodifieraren i superklassen, är det tillåtet att åsidosätta åtkomstmodifierare som används i metodens underklass.

Obs: Klass innehåller variabler, konstruktörer, fält och metoder, och gränssnittet innehåller specifika fält eller metoder.

Rekommenderade artiklar

Detta är en guide till Access Modifiers i Java. Här diskuterar vi de olika typerna av åtkomstmodifierare i java och deras specifikation. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Objektorienterad programmering i Java
  2. Java-intervjufrågor
  3. Vad är synkronisering i Java?
  4. Autoboxing och Unboxing i Java
  5. Få åtkomst till modifierare i C ++ (typer)
  6. Fantastisk guide för åtkomstmodifierare i C #
  7. Få åtkomst till modifierare i PHP
  8. JRE vs JVM | Topp 8 skillnader med (Infographics)

Kategori: