Да, я думаю, что «наследовать» - правильный термин здесь, даже если он не такой описательный, как мог бы быть.Из раздела 8.4.8 Спецификации языка Java :
Класс C наследует от своего прямого суперкласса и прямого суперинтерфейса все не частные методы (абстрактные или нет)суперкласс и суперинтерфейсы, которые являются открытыми, защищены или объявлены с доступом по умолчанию в том же пакете, что и C, и не переопределяются (§8.4.8.1) и не скрываются (§8.4.8.2) объявлением в классе.
Это не определяет методы экземпляра, но являются конкретными ограничениями на то, что разрешено скрывать или переопределять что, что не имело бы смысла, если бы статические методы были не унаследованы.
Действительно, я бы просто рассматривал статические методы как «доступные без квалификации», а не как что-либо еще, учитывая, что они не участвуют в полиморфизме и т. Д. Я думаю, что это стоит прояснить - дляНапример, один статический метод может скрыть унаследованный, но он не может переопределить it.
Другими словами, хотя я думаю, что «наследовать» технически правильно, я бы постарался не использовать его без каких-либо дополнительных объяснений.
В отношении вашего второго вопроса я бы сказал, что исходя из вышеизложенного, переопределение связано с полиморфизмом, но наследование не обязательно.
(я также настоятельно рекомендую вам избегать вызова статических методов через переменные, а также использоватьимя класса, который объявляет статический метод, где бы вы ни указали имя.Я знаю, что это не часть вопроса, но я все равно решил добавить это ...)