Co je chráněno v Javě a jak ji implementovat?

Tento článek o Protected in Java vám pomůže pochopit, co je chráněné klíčové slovo a jak může pomoci při zapouzdření vašeho kódu a zabránit jeho zneužití.

Java poskytuje sadu klíčových slov s názvem Modifikátory přístupu což nám pomáhá nastavit viditelnost třídy,rozhraní, proměnná, datový člen, metoda, konstruktor atd. Existují 4 typy modifikátorů přístupu, výchozí, veřejný, soukromý a chráněný, které jsou podporovány v . V tomto článku se zaměřím výhradně na chráněnou v Javě a pomůžu vám s ní získat jasný přehled.

Níže uvádíme témata, kterým se budu v tomto článku věnovat:





Co je chráněno v Javě?

Jak již bylo zmíněno, chráněný v Javě je modifikátor přístupu, který pomáhá programátorovi při přiřazování viditelnosti třídy, jejích členů, rozhraní atd. Když jsou členové třídy prohlášeni za chráněné v Javě, jsoupřístupné pouze v rámci stejného balík stejně jako přímé podtřídy základní třídy. Při používání chráněného klíčového slova v Javě musíte mít na paměti, že za chráněné lze prohlásit pouze členy třídy. Třídy a rozhraní nelze v Javě prohlásit za chráněné.

co je záznamník v Javě

Nyní si možná myslíte, proč nelze třídy a rozhraní chránit?



Pokud si myslíte logicky, odpověď bude zcela jasná. Pokud je třída chráněna, bude viditelná pouze pro třídy přítomné ve stejném balíčku. Nyní, jak jsem již zmínil, když je cokoli chráněno v Javě, je to viditelné i pro jeho podtřídy.

Ale zde je nejednoznačnost. Pro ostatní třídy k rozšíření chráněné třídy musí být viditelná nadřazená třída. Jak rozšíříte něco, co na prvním místě není vidět? To tedy způsobuje nejednoznačnost a vytváření chráněných tříd není povoleno .

Nyní pochopíme, proč nelze rozhraní chránit. V Javě jsou prvky obecně chráněny, takže jejich implementace lze sdílet mezi ostatními. Ale v případě rozhraní , nemají žádnou implementaci, takže nemá smysl je sdílet. Všechny metody přítomné v rozhraních tedy musí být veřejné, aby je mohla snadno implementovat jakákoli třída nebo vzpěry.



Tedy tymůže deklarovat pouze a datové členy chráněné v Javě, nikoli třídy nebo rozhraní. To pomáhá při zapouzdření kódu omezením přístupnosti na členy třídy. Pomáhá také předcházet zneužití údajů.

Chráněná implementace

Zkusme nyní implementovat to, co jsme se dosud naučili. Takže zde budu vytvářet dvě třídy, z nichž každá patří do samostatného balíčku.

EduProtected.java v balíčku edu1

balíček edu1 veřejná třída EduProtected {chráněná neplatná zpráva (String disp) {System.out.println ('Přijata zpráva balíčku 1:' + disp)}}

EduSubClass.java v balíčku edu2

c ++ sort ()
balíček edu2 import edu1.EduProtected veřejná třída EduSubClass rozšiřuje EduProtected {public static void main (String [] args) {EduProtected show = new EduProtected () // vyvolá zprávu () z třídy EduProtected show.message ('Hello from package2 subclass') }}

Výstup:

Zpráva balíčku 1 přijata: Dobrý den z podtřídy package2

Tím se dostáváme na konec tohoto článku.Pokud se chcete o Javě dozvědět více, můžete se podívat na naši .

Nyní, když jste pochopili, co je chráněno v Javě, podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Školicí a certifikační kurz Edureka Java J2EE a SOA je určen pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování v Javě a naučil vás základní i pokročilé koncepty Javy spolu s různými jávskými rámci, jako je Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto článku a my se vám ozveme co nejdříve.