Переменные (поля) не переопределяются , ни переменные экземпляра, ни переменные класса.
Объект всегда имеет все переменные экземпляра из всех суперклассов.Класс имеет только те статические переменные, которые он сам определяет, хотя он также может обращаться к переменным (и интерфейсам) суперклассов (если они не являются частными).
Если вы переопределите переменную в подклассе, вы будете скрыватьоригинальный, то есть не может напрямую получить к нему доступ.Он все еще существует.
Какая переменная доступна, зависит только от типа (времени компиляции), используемого для доступа к ней, а не от класса конкретного объекта.