This answer mostra modificatori di visibilità di Java e il loro significato:Perché la visibilità del pacchetto ha la precedenza sulla visibilità della sottoclasse?
Modifier | Class | Package | Subclass | World
————————————+———————+—————————+——————————+———————
public | y | y | y | y
————————————+———————+—————————+——————————+———————
protected | y | y | y | n
————————————+———————+—————————+——————————+———————
no modifier | y | y | n | n
————————————+———————+—————————+——————————+———————
private | y | n | n | n
La mia domanda è: perché non consentendo visibilità a tutte le sottoclassi implica che si deve dare visibilità a tutte le altre classi nel pacchetto? In altre parole, perché i creatori di Java rendono in questo modo, al contrario di:
Modifier | Class | Subclass | Package | World
————————————+———————+—————————-+——————————+———————
public | y | y | y | y
————————————+———————+—————————+——————————+———————
no modifier | y | y | y | n
————————————+———————+—————————+——————————+———————
protected | y | y | n | n
————————————+———————+—————————+——————————+———————
private | y | n | n | n
Vedere anche: http://programmers.stackexchange.com/questions/205646/in-java-why-were-protected-members-made-accessible-to-classes-of-the-same-packa e http: //programmers.stackexchange.com/questions/238581/why-is-there-no-subclasses-only-access-modifier-in-java – assylias
"... perché i creatori di Java lo hanno reso così", IMHO, nessuno qui può rispondere. :) –