Un cuvânt cheie Java protected este un modificator de acces. Acesta poate fi atribuit variabilelor, metodelor, constructorilor și claselor interioare.
puncte de reținut
- modificatorul de acces protejat este accesibil în cadrul pachetului. Cu toate acestea, poate fi accesibil și în afara pachetului, dar numai prin moștenire.
- Nu putem atribui protejat clasei exterioare și interfeței.
- dacă faceți orice constructor protejat, nu puteți crea instanța acelei clase din afara pachetului.,
- dacă suprascrieți orice metodă, metoda suprascrisă (adică declarată în subclasă) nu trebuie să fie mai restrictivă.
- conform punctului anterior, dacă atribuiți protejat oricărei metode sau variabile, acea metodă sau variabilă poate fi înlocuită la sub-clasă folosind doar modificatorul de acces public sau protejat.
Exemple de cuvinte cheie protejate
Exemplul 1
Să vedem un exemplu pentru a determina dacă variabila protejată este accesibilă sau nu în afara pachetului.,
Ieșire:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The field A.msg is not visible
Exemplul 2
Să vedem un exemplu pentru a determina dacă protejate variabilă este accesibil sau nu în afara clasei și în cadrul pachetului.
Ieșire:
Try to access the protected variable outside the class within the package
Exemplul 3
Să vedem un exemplu pentru a determina dacă metoda protejat este accesibil sau nu în afara pachetului.,
Ieșire:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method msg() from the type A is not visible
Exemplul 4
Să vedem un exemplu pentru a determina dacă metoda protejat este accesibil sau nu în afara pachetului folosind moștenirea.
Output:
Try to access the protected method outside the package using inheritance
exemplul 5
Să vedem un exemplu pentru a determina dacă atribuim protejat clasei exterioare.
Ieșire:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Exemplul 6
Să vedem un exemplu pentru a determina dacă vom crea exemplu de protejat constructor din afara clasei.,
Ieșire:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The constructor A(String) is not visibles
Exemplul 7
Să vedem un exemplu pentru a determina dacă metoda protejat este înlocuită cu sub-clasa folosind protejate modificator de acces.
Ieșire:
Try to access the overridden method
Exemplul 8
Să vedem un exemplu pentru a determina dacă metoda protejat este înlocuită cu sub-clasa folosind modificator de acces privat.,
Ieșire:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot reduce the visibility of the inherited method from A
Exemplul 9
Să vedem un exemplu pentru a determina dacă metoda protejat este înlocuită cu sub-clasa folosind modificator de acces implicit.
Ieșire:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot reduce the visibility of the inherited method from A
10
Să vedem un exemplu pentru a determina dacă metoda protejat este înlocuită cu sub-clasa folosind modificatorul de acces public.
ieșire:
Try to access the overridden method