A Java protected kulcsszó access módosító. Ez lehet rendelni változók, módszerek, konstruktorok, belső osztályok.
Megjegyezendő pontok
- a védett hozzáférési módosító elérhető a csomagon belül. A csomagon kívül is elérhető, de csak öröklés útján.
- külső osztályhoz és interfészhez nem rendelhetünk védettséget.
- Ha bármilyen konstruktort védetté tesz, az adott osztály példánya nem hozható létre a csomagon kívülről.,
- Ha bármilyen módszert felülír, a felülbírált módszer (azaz az alosztályban bejelentett) nem lehet korlátozóbb.
- az előző pontnak megfelelően, ha bármely módszerhez vagy változóhoz védett értéket rendel, akkor ez a módszer vagy változó felülírható az alosztályra csak nyilvános vagy védett hozzáférési módosító segítségével.
példák a védett kulcsszóra
példa 1
nézzünk egy példát annak meghatározására, hogy a védett változó elérhető-e vagy sem a csomagon kívül.,
kimenet:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The field A.msg is not visible
2.példa
nézzünk egy példát annak meghatározására, hogy a védett változó elérhető-e vagy sem az osztályon kívül, sem pedig a csomagon belül.
kimenet:
Try to access the protected variable outside the class within the package
példa 3
mutassunk egy példát annak meghatározására, hogy a védett módszer elérhető-e vagy sem a csomagon kívül.,
kimenet:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method msg() from the type A is not visible
4.példa
mutassunk egy példát annak meghatározására, hogy a védett módszer elérhető-e vagy sem a csomagon kívül, örökléssel.
Output:
Try to access the protected method outside the package using inheritance
5.példa
nézzünk egy példát annak meghatározására, hogy a külső osztályhoz védett-e.
Output:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
6.példa
mutassunk egy példát annak meghatározására, hogy a védett konstruktor példányát az osztályon kívülről hozzuk-e létre.,
kimenet:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The constructor A(String) is not visibles
7.példa
nézzünk egy példát annak meghatározására, hogy a védett módszer felülíródik-e az alosztályba a védett hozzáférési módosító segítségével.
kimenet:
Try to access the overridden method
8.példa
mutassunk egy példát annak meghatározására, hogy a védett módszer felülíródik-e az alosztályra a privát hozzáférési módosító segítségével.,
kimenet:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot reduce the visibility of the inherited method from A
példa 9
mutass egy példát annak meghatározására, hogy a védett módszer felülíródik-e az alosztályra az Alapértelmezett hozzáférési módosító segítségével.
Output:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot reduce the visibility of the inherited method from A
példa 10
nézzünk egy példát annak meghatározására, hogy a védett módszer felülíródik-e az alosztályba a public access módosító segítségével.
kimenet:
Try to access the overridden method