Úvod do modifikátorů přístupu v Javě

Jak všichni víme, Java je jedním z nejlepších programovacích jazyků na světě. Za poslední dvě desetiletí se na to spoléhají miliardy zařízení. Java je rychlý, spolehlivý, bezpečný a více platformový jazyk. Java běží na jakémkoli zařízení, pokud má toto zařízení Java Runtime (JRE), což z něj činí platformu pro více platforem, rychlý a spolehlivý jazyk. Modifikátor přístupu je vlastnost java, díky čemuž je bezpečný na celé platformě. Java poskytuje programátorům bezpečnost na úrovni třídy (během zapouzdření) pomocí vlastnosti modifikátoru přístupu. Podle knihy je Třída plán pro stavbu objektu v javě, což z něj činí „Stavební blok“ programu, protože Java je objektově orientovaný jazyk. Modifikátor přístupu určuje, jak může jakákoli třída přistupovat k dané třídě a jejím polím, konstruktérům a metodám v rámci různých balíčků. Třída, pole, konstruktéři a metody mohou mít jeden ze čtyř různých modifikátorů přístupu Java.

  • Soukromé
  • Veřejnost
  • Chráněný
  • Výchozí - Nevyžaduje se žádné klíčové slovo.

Různé modifikátory přístupu v Javě

Následující tabulka shrnuje, jak můžeme použít modifikátory přístupu Java pro program:

ModifikátoryTřídaBalíčkyPodtřídaSvět
SoukroméYNNN
VeřejnostYYYY
ChráněnýYYYN
VýchozíYYNN

V následujících sekcích se věnujeme každému modifikátoru přístupu Java.

1) Výchozí

Pokud je jakákoli třída, datové členy a proměnná deklarována tím, že nepíšou s modifikátorem přístupu, je nastavena na „výchozí“ modifikátor přístupu. „Výchozí“ modifikátor přístupu znamená, že kód uvnitř kterékoli třídy může přistupovat k celému programu ve stejném balíčku.

  • Tento modifikátor přístupu funguje pouze ve stejném balíčku.
  • Někdy se „výchozí“ modifikátor přístupu označuje také jako modifikátor přístupu k balíčku, protože je přístupný pouze ve stejném balíčku.
  • Podtřídy nemohou přistupovat k metodám, datovým členům a proměnným (polím) ve třídě, pokud tyto metody, datové členy a proměnné (pole) označené „výchozí“ modifikátorem přístupu ve třídě, pokud tyto podtřídy jsou umístěny ve stejném balíčku jako nadtřída.

Příklad č. 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!");
)
)

Výstup:

Ahoj světe!

Příklad č. 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();
)
)

Výstup:

Chyba kompilace času.

2) Chráněno

Syntaxe „chráněno“ používají uživatelé, když chtějí použít tento modifikátor přístupu.

  • Tento modifikátor přístupu je přístupný pouze v rámci stejného balíčku nebo stejných podtříd v různých třídách (uživatelé však musí tento balíček importovat tam, kde byl zadán).
  • Uživatel nemůže označit třídu a rozhraní „modifikovaným“ modifikátorem přístupu. Metody a pole však lze prohlásit za chráněné, pokud jsou metody a pole v rozhraní.

Například:

//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();
)
)

Výstup:

Ahoj světe!

3) Veřejné

Uživatel může deklarovat třídu, metodu, konstruktor a rozhraní pomocí modifikátoru „veřejného“ přístupu, který má přístup k libovolné třídě, metodě, konstruktoru a rozhraní uvnitř nebo různých balíčků.

  • Tento modifikátor přístupu má Boundless mezi všemi modifikátory.
  • Je-li jakákoli třída, metody nebo balíček označený modifikátorem „veřejného“ přístupu, kde je přístupný všem odkudkoli z programu.
  • Rozsah „veřejné“ přístupové třídy, metody neexistují.

Například: -

//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 ();
)
)

Výstup:

Ahoj světe!

4) Soukromé

Pokud metoda nebo proměnná označená jako „soukromé“ modifikátory přístupu, pak kód uvnitř téže třídy může přistupovat pouze k těmto metodám a proměnným.

Uživatel nemůže v programu deklarovat žádnou super-třídu s 'soukromým' modifikátorem přístupu a pokud tak učiní s jakoukoli třídou, pak učiní tuto třídu nepřístupnou pro jakoukoli jinou třídu ve stejném balíčku, což způsobí, že třída nebude použita, ačkoli uživatel může deklarovat proměnné a metody v rámci třídy s 'soukromým' modifikátorem přístupu, takže nikdo nemůže tyto proměnné a metody použít.

Lidé se občas zaměňovali s modifikátorem přístupu „soukromý“ a „chráněný“, ale oba jsou jiní.

Například: -

//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();
)
)

Výstup:

error: display () má soukromý přístup v eduCBA obj.display ();

Závěr

Modifikátor přístupu Java vám při zveřejnění poskytne další výhodu oproti vašemu programu. Jak jsme studovali výše, Různé typy modifikátorů přístupu v JAVA a jejich specifikace.

Mějte na paměti, že pokaždé, když některou z nich použijete jako přístup ke třídě nebo rozhraní, protože jim nejen neposkytují přístup, ale také je potlačují. I když existují obavy ohledně dostupnosti metody v programu. Například pokud je rozhraní přiřazeno „výchozí“ modifikátor přístupu v nadřazené třídě, je povoleno potlačit modifikátory přístupu použité v podtřídě metody.

Poznámka: Třída zahrnuje proměnné, konstruktory, pole a metody a rozhraní zahrnuje specifická pole nebo metody.

Doporučené články

Toto je průvodce přístupovými modifikátory v Javě. Zde diskutujeme různé typy modifikátorů přístupu v javě a jejich specifikaci. Další informace naleznete také v dalších navrhovaných článcích -

  1. Objektově orientované programování v Javě
  2. Java Interview Otázky
  3. Co je synchronizace v jazyce Java?
  4. Autoboxing a Unboxing v Javě
  5. Modifikátory přístupu v C ++ (typy)
  6. Úžasný průvodce přístupovými modifikátory v C #
  7. Přístup modifikátory v PHP
  8. JRE vs JVM | 8 hlavních rozdílů s (infografika)

Kategorie: