Quando si nasconde un campo statico, non c'è alcuna limitazione su quale livello di accesso ha il campo nella sottoclasse, può essere anche non statico e di altro tipo di dati.Perché Java limita il modificatore di accesso di un metodo di nascondimento
Dall'altro lato, quando si nasconde un metodo statico, il metodo statico dalla sottoclasse che nasconde il metodo statico dalla superclasse può consentire un accesso maggiore, ma non inferiore, del metodo nascosto.
AFAIK, il collegamento del metodo statico viene comunque eseguito in fase di compilazione, quindi perché esiste una tale limitazione?
P.S. La domanda è solo per curiosità.
sospetti di Jon (I didn contrassegnalo come duplicato poiché la risposta lo conferma semplicemente in base a JLS, mentre la tua domanda è più sul perché JLS è progettato in questo modo): http://stackoverflow.com/questions/26963828/riducendo-il-visibilità-di-a -static metodo. Informazioni sui campi: non sono polimorfici (indipendentemente dal fatto che siano statici o meno, quindi non c'è motivo di limitarne l'intervallo). – Pshemo
Preferita la pre-modifica del post –
Ripristinata allo stato pre-modificato. Semplicemente non voglio che le persone capiscano la domanda come "Perché i campi sono consentiti e per i metodi no". – Bax