Java nyújt számos hozzáférés-módosító meghatározott hozzáférési szintek osztályok, változók, módszerek, valamint a konstruktőri. A négy hozzáférési szint −
- látható a csomag, Az alapértelmezett. Nincs szükség módosítókra.
- csak az osztály számára látható (privát).
- látható a világ (nyilvános).
- látható a csomag és az összes alosztály (védett).,
Alapértelmezett hozzáférési módosító-nincs kulcsszó
Alapértelmezett hozzáférési módosító azt jelenti, hogy nem kifejezetten deklaráljuk egy osztály, mező, módszer stb.
a hozzáférés-vezérlés módosítása nélkül deklarált változó vagy módszer elérhető ugyanazon csomag bármely más osztálya számára. Az interfészek mezői implicit módon publikus statikus végleges, az interfészek metódusai pedig alapértelmezés szerint publikusak.,
példa
változók és módszerek módosítók nélkül deklarálhatók, mint a következő példákban −
String version = "1.5.1";boolean processOrder() { return true;}
Private Access Modifier – Private
metódusok, változók és konstruktorok, amelyek privátnak minősülnek, csak a deklarált osztályon belül érhetők el.
A privát hozzáférési módosító a legszigorúbb hozzáférési szint. Az osztály és az interfészek nem lehetnek privátak.
A privátnak nyilvánított változók az osztályon kívül érhetők el, ha az osztályban nyilvános getter módszerek vannak jelen.,
a privát módosító használata a fő módja annak, hogy egy objektum magába foglalja magát, és elrejti az adatokat a külvilágtól.
példa
a következő osztály privát hozzáférés-vezérlést használ-
itt A Logger osztály formátumváltozója privát, tehát nincs mód arra, hogy más osztályok közvetlenül lekérjék vagy beállítsák az értékét.
tehát ahhoz, hogy ezt a változót elérhetővé tegyük a külvilág számára, két nyilvános módszert definiáltunk: getFormat (), amely a formátum értékét adja vissza, valamint setFormat(String), amely meghatározza annak értékét.,
Public Access Modifier – Public
a class, method, constructor, interface, stb. a nyilvánoshoz bármely más osztályból lehet hozzáférni. Ezért a nyilvános osztályban deklarált mezők, módszerek, blokkok a Java univerzumhoz tartozó bármely osztályból elérhetők.
Ha azonban az általunk elérni kívánt nyilvános osztály egy másik csomagban van, akkor a nyilvános osztályt továbbra is importálni kell. Az osztály öröklése miatt egy osztály minden nyilvános módszerét és változóját az alosztályai öröklik.,
példa
a következő függvény nyilvános hozzáférés-vezérlést használ –
public static void main(String arguments) { // ...}
az alkalmazás fő() módszerének nyilvánosnak kell lennie. Ellenkező esetben egy Java tolmács (például java) nem hívhatja meg az osztály futtatásához.
Protected Access Modifier-Protected
változók, módszerek és konstruktorok, amelyek védettnek nyilvánított egy szuperosztály csak akkor érhető el az alosztályok más csomag vagy bármely osztály a csomagon belül a védett tagok osztály.
a védett hozzáférési módosító nem alkalmazható osztályokra és interfészekre., Módszerek, mezők lehet nyilvánítani védett, azonban módszerek, mezők egy interfész nem lehet nyilvánítani védett.
A védett hozzáférés lehetőséget ad az alosztálynak a segítő módszer vagy változó használatára, miközben megakadályozza, hogy egy nem összefüggő osztály megpróbálja használni.
példa
a következő szülőosztály védett hozzáférés-vezérlést használ, hogy a gyermekosztály felülbírálja az openSpeaker () módszert –
class AudioPlayer { protected boolean openSpeaker(Speaker sp) { // implementation details }}class StreamingAudioPlayer extends AudioPlayer { boolean openSpeaker(Speaker sp) { // implementation details }}
itt, ha az openSpeaker() módszert privátként definiáljuk, akkor az nem érhető el más osztályból, mint az AudioPlayer., Ha nyilvánosnak definiáljuk, akkor a külvilág számára hozzáférhetővé válik. De célunk, hogy ezt a módszert csak az Alosztályának tegyük ki, ezért használtunk védett módosítót.
hozzáférés-szabályozás és öröklés
az örökölt módszerekre vonatkozó alábbi szabályok kerülnek végrehajtásra −
-
a szuperosztályban nyilvánosnak nyilvánított módszereknek minden alosztályban nyilvánosnak kell lenniük.
-
A szuperosztályban védettnek nyilvánított módszereket vagy az alosztályokban védeni kell, vagy nyilvánosságra kell hozni; nem lehetnek privátak.,
-
A magántulajdonban lévő módszerek egyáltalán nem öröklődnek, tehát nincs rájuk vonatkozó szabály.