При скрытии статического поля нет ограничений на том, какой уровень доступа имеет поле в подклассе, он может быть даже нестационарным и другого типа данных.Почему Java ограничивает модификатор доступа метода скрытия
С другой стороны, при скрытии статического метода статический метод из подкласса, который скрывает статический метод от суперкласса, может обеспечить больше, но не менее доступ, чем скрытый метод.
AFAIK, связывание статического метода в любом случае выполняется во время компиляции, так почему такое ограничение?
P.S. Вопрос только из любопытства.
подозрения Джона (я Бесполезным 't отметьте его как дубликат, так как ответ просто подтверждает его на основе JLS, в то время как ваш вопрос больше о том, почему JLS спроектирован именно так): http://stackoverflow.com/questions/26963828/reducing-the-visibility-of-a -static-метод. О полях: они не являются полиморфными (независимо от того, являются ли они статическими или нет, поэтому нет смысла ограничивать диапазон их изменений). – Pshemo
Предпочтительно ваше сообщение pre-edit –
Восстановлено до предварительно отредактированного состояния. Просто не хочу, чтобы люди понимали вопрос: «Почему для полей разрешено, а для методов - нет». – Bax