вопрос о наследовании в Java ...супер защищенной Java
class Base {
private int val = 10;
}
class Derive extends Base{
public void setVal(int value) {
super.val = value;
}
}
Так как мы можем изменить private
поле в супер класса, используя ключевое слово super
в подклассе, почему мы должны использовать protected
объявить поля суперкласса ?
Прежде всего, как говорится в ответе, это не будет компилироваться, вы не сможете получить доступ к закрытым полям, во-вторых, даже если бы вы могли, пожалуйста, используйте сеттеры/геттеры даже внутри страны. –