В вашем примере вы просто определили новое поле с таким же именем, что привело к так называемому name shadowing
Нельзя переопределить значения поля, как это работает с методами.
Если хотите задавать в наследнике значение родительского поля, сделайте в родителе конструктор с соответствующим параметром.
Сначала да, но если там ничего не найдёт, пойдёт по цепочке скоупа в котором функция вызывалась.