Una parola chiave protetta Java è un modificatore di accesso. Può essere assegnato a variabili, metodi, costruttori e classi interne.
Punti da ricordare
- Il modificatore di accesso protetto è accessibile all’interno del pacchetto. Tuttavia, può anche essere accessibile al di fuori del pacchetto ma solo attraverso l’ereditarietà.
- Non possiamo assegnare protetto alla classe esterna e l’interfaccia.
- Se si crea un costruttore protetto, non è possibile creare l’istanza di quella classe dall’esterno del pacchetto.,
- Se si sta sovrascrivendo qualsiasi metodo, il metodo sovrascritto (cioè dichiarato nella sottoclasse) non deve essere più restrittivo.
- Secondo il punto precedente, se si assegna protected a qualsiasi metodo o variabile, tale metodo o variabile può essere sovrascritto alla sottoclasse utilizzando solo modificatore di accesso pubblico o protetto.
Esempi di parola chiave protetta
Esempio 1
Vediamo un esempio per determinare se la variabile protetta è accessibile o meno al di fuori del pacchetto.,
Output:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The field A.msg is not visible
Esempio 2
Vediamo un esempio per determinare se la variabile protetta è accessibile o meno al di fuori della classe e all’interno del pacchetto.
Output:
Try to access the protected variable outside the class within the package
Esempio 3
Vediamo un esempio per determinare se il metodo protetto è accessibile o meno al di fuori del pacchetto.,
Output:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method msg() from the type A is not visible
Esempio 4
Vediamo un esempio per determinare se il metodo protetto è accessibile o meno al di fuori del pacchetto usando l’ereditarietà.
Output:
Try to access the protected method outside the package using inheritance
Esempio 5
Vediamo un esempio per determinare se assegniamo protected alla classe outer.
Output:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Esempio 6
Vediamo un esempio per determinare se creiamo l’istanza del costruttore protetto dall’esterno della classe.,
Output:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The constructor A(String) is not visibles
Esempio 7
Vediamo un esempio per determinare se il metodo protetto viene sovrascritto alla sottoclasse utilizzando il modificatore di accesso protetto.
Output:
Try to access the overridden method
Esempio 8
Vediamo un esempio per determinare se il metodo protetto viene sovrascritto alla sottoclasse utilizzando il modificatore di accesso privato.,
Output:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot reduce the visibility of the inherited method from A
Esempio 9
Vediamo un esempio per determinare se il metodo protetto viene sovrascritto alla sottoclasse utilizzando il modificatore di accesso predefinito.
Output:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot reduce the visibility of the inherited method from A
Esempio 10
Vediamo un esempio per determinare se il metodo protetto viene sovrascritto alla sottoclasse utilizzando il modificatore di accesso pubblico.
Uscita:
Try to access the overridden method