Bevezetés a Java módosítókba
Mint mindannyian tudjuk, a Java az egyik legnépszerűbb programozási nyelv a világon. Több milliárd eszköz támaszkodik rá az elmúlt két évtizedben. A Java gyors, megbízható, biztonságos és többplatformos nyelv. A Java bármilyen eszközön fut, amíg az eszköz rendelkezik Java Runtime (JRE) verzióval, amely multiplatformos, gyors és megbízható nyelvet jelent. A hozzáférés módosítója a java tulajdonsága, amely biztonságossá teszi a multi-platformon keresztül. A Java a hozzáférést módosító tulajdonság használatával osztályszintű biztonságot nyújt (a beágyazás során) a programozó számára. A könyv szerint az Class egy objektum java-ba építésének terve, amely a program „építőeleme” -vé teszi, mivel a Java objektum-orientált nyelv. A hozzáférés-módosító meghatározza, hogy bármely osztály hogyan férhet hozzá egy adott osztályhoz és annak mezőihez, konstruktorainak és módszereinek, valamint a különböző csomagoknak. Az osztálynak, a mezőknek, a konstruktoroknak és a metódusoknak a négy különböző Java hozzáférés-módosító egyike lehet.
- Magán
- Nyilvános
- Védett
- Alapértelmezés - Nincs kulcsszó szükséges.
Különböző hozzáférési módosítók Java-ban
Az alábbi táblázat összefoglalja a Java hozzáférés-módosító alkalmazását a programra:
módosítók | Osztály | csomagok | Sub-osztály | Világ |
Magán | Y | N | N | N |
Nyilvános | Y | Y | Y | Y |
Védett | Y | Y | Y | N |
Alapértelmezett | Y | Y | N | N |
Az egyes Java hozzáférés-módosítókat a következő szakaszokban foglaljuk le.
1) Alapértelmezés
Ha bármelyik osztályt, adattagot és a változót úgy írják be, hogy nem írnak hozzáférési módosítóval, akkor az „alapértelmezett” hozzáférési módosítóra van állítva. Az „alapértelmezett” hozzáférés-módosító azt jelenti, hogy bármely osztályon belüli kód hozzáférhet a teljes programhoz ugyanazon csomagon belül.
- Ez a hozzáférés-módosító csak ugyanabban a csomagban működik.
- Az „alapértelmezett” hozzáférés-módosítót néha csomag-hozzáférési módosítónak is nevezik, mivel csak ugyanazon a csomagon belül érhető el.
- Az alosztályok nem férhetnek hozzá a szuperosztálybeli módszerekhez, adatelemekhez és változókhoz (mezőkhöz), ha ezek a módszerek, adattagok és változók (mezők) az osztály alapértelmezett hozzáférési módosítójával vannak megjelölve, kivéve, ha ezek az alosztályok ugyanabban a csomagban találhatók, mint a mikrotörzs.
1. példa:
//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!");
)
)
Kimenet:
Helló Világ!
2. példa:
//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();
)
)
Kimenet:
Időfordítási hiba.
2) Védett
A „védett” szintaxist a felhasználók akkor használják, amikor használni akarják ezt a hozzáférési módosítót.
- Ez a hozzáférés-módosító csak ugyanazon csomagon belül vagy ugyanazon alosztályon belül érhető el, különböző osztályokban (de a felhasználóknak importálniuk kell azt a csomagot, ahol azt meghatározták).
- A felhasználó nem jelölhet meg osztályokat és interfészeket a „védett” hozzáférés-módosítóval. A módszereket és a mezőket azonban védettnek is lehet nyilvánítani, ha a módszerek és a mezők egy felületen vannak.
Például:
//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();
)
)
Kimenet:
Helló Világ!
3) Nyilvános
A felhasználó deklarálhat egy osztályt, módszert, konstruktort és interfészt egy „nyilvános” hozzáférés-módosítóval, amely bármilyen osztályon, metóduson, konstruktoron és interfészen keresztül hozzáférhet, vagy különféle csomagokon belül.
- Ennek a hozzáférés-módosítónak a Határtalan az összes módosítója.
- Amikor bármely osztály, módszer vagy csomag „nyilvános” hozzáférés-módosítóval van megjelölve, ahol a program mindenhol elérhető, bárhonnan.
- A „nyilvános” hozzáférési osztály, módszerek körére nincs korlátozás.
Például: -
//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 ();
)
)
Kimenet:
Helló Világ!
4) Magán
Ha egy módszer vagy változó „privát” hozzáférési módosítóként van megjelölve, akkor az ugyanazon osztályon belüli kód csak azokra a módszerekre és változókra férhet hozzá.
A felhasználó nem deklarálhat egyetlen szuperosztályt sem a „privát” hozzáférési módosítóval a programban, és ha a felhasználó ezt bármilyen osztálylal megteszi, akkor az osztályt nem teszi elérhetővé ugyanazon csomag más osztálya, amely miatt az osztály nem használható, bár A felhasználó deklarálhatja az osztályon belüli változókat és módszereket a „privát” hozzáférés-módosítóval, így senki nem tudja ezeket a változókat és módszereket kihasználni.
Időnként az emberek belekeveredtek a „privát” és a „védett” hozzáférés-módosítóba, ám mindkettő különbözik egymástól.
Például: -
//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();
)
)
Kimenet:
hiba: a display ()-nak privát hozzáférése van az eduCBA obj.display () -hoz;
Következtetés
A Java hozzáférés-módosító extra előnyt biztosít a program felett, amikor azt nyilvánosságra hozza. Mint fentebb tanulmányoztuk, A Java hozzáférési módosítóinak különféle típusai és specifikációi.
Tehát ne feledje, minden alkalommal, amikor egyikét osztály- vagy interfészhozzáférésként használja, mivel ezek nemcsak hozzáférést biztosítanak, hanem felülbírálják is őket. Bár a programban mindig gond van a módszer hozzáférhetőségével kapcsolatban. Például, ha egy interfészhez az „alapértelmezett” hozzáférés-módosítót hozzárendeljük a szuperosztályban, akkor megengedhető, hogy felülbírálja a módszer alosztályában használt hozzáférés-módosítókat.
Megjegyzés: Az osztály változókat, konstruktoreket, mezőket és metódusokat tartalmaz, és az interfész meghatározott mezőket vagy módszereket tartalmaz.Ajánlott cikkek
Ez egy útmutató a Java hozzáférés-módosítókhoz. Itt a java hozzáférés-módosítók különféle típusait és azok specifikációját tárgyaljuk. A további javasolt cikkeken keresztül további információkat is megtudhat -
- Objektum-orientált programozás Java-ban
- Java interjú kérdései
- Mi a szinkronizálás a Java-ban?
- Autobox és Unboxing Java
- Hozzáférés-módosítók C ++-ban (típusok)
- Csodálatos útmutató a hozzáférés-módosítókhoz a C # -ben.
- Hozzáférés-módosítók a PHP-ben
- JRE vs JVM | A 8 legfontosabb különbség az (infographics) között