在Java中,子類不能直接修改父類的屬性,因?yàn)楦割惖膶傩酝ǔ1宦暶鳛樗接?private)或者受保護(hù)(protected)的,只能在父類內(nèi)部訪問。然而,子類可以通過繼承和方法復(fù)寫的機(jī)制來間接修改父類的屬性。具體的做法是:
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); // 通過調(diào)用父類的setter方法來修改父類的屬性
}
}
通過調(diào)用子類中的modifyAttribute
方法,可以修改父類的屬性。
需要注意的是,如果父類的屬性是私有的(private),那么子類不能直接訪問和修改該屬性。在這種情況下,可以通過在父類中提供公共的(getter和setter)方法來間接訪問和修改父類的私有屬性。