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ókOsztálycsomagokSub-osztályVilág
MagánYNNN
NyilvánosYYYY
VédettYYYN
AlapértelmezettYYNN

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 -

  1. Objektum-orientált programozás Java-ban
  2. Java interjú kérdései
  3. Mi a szinkronizálás a Java-ban?
  4. Autobox és Unboxing Java
  5. Hozzáférés-módosítók C ++-ban (típusok)
  6. Csodálatos útmutató a hozzáférés-módosítókhoz a C # -ben.
  7. Hozzáférés-módosítók a PHP-ben
  8. JRE vs JVM | A 8 legfontosabb különbség az (infographics) között

Kategória: