Amo il controllo degli accessi in qualsiasi lingua, ma trovo che in Java non utilizzo quasi mai (mai) il modificatore di accesso package-private (o la sua mancanza).Quando dovrei usare package-private in Java?
mi rendo conto che le classi interne possono essere private
, protected
o package-private
, ma le classi esterne può essere solo package-private
o public
. Perché una classe esterna può essere package-private
ma non protected
? Qual è il vantaggio di restringere classi/metodi/campi per essere visto dall'intero pacchetto, ma non da sottoclassi?