在Java中,子类不能直接修改父类的属性,因为父类的属性通常被声明为私有(private)或者受保护(protected)的,只能在父类内部访问。然而,子类可以通过继承和方法复写的机制来间接修改父类的属性。具体的做法是:
public class Parent {
protected int attribute;
public int getAttribute() {
return attribute;
}
public void setAttribute(int attribute) {
this.attribute = attribute;
}
}
public class Child extends Parent {
public void modifyAttribute(int newValue) {
setAttribute(newValue); // 通过调用父类的setter方法来修改父类的属性
}
}
通过调用子类中的modifyAttribute
方法,可以修改父类的属性。
需要注意的是,如果父类的属性是私有的(private),那么子类不能直接访问和修改该属性。在这种情况下,可以通过在父类中提供公共的(getter和setter)方法来间接访问和修改父类的私有属性。