這是一個初學者的問題,但我搜索了一下,似乎無法找到答案。Java子類如何繼承受訪問保護的父字段?
說我有一類人:
class Person {
private String SSN;
//blah blah blah...
}
,然後我創建一個子類奧德曼:
class OldMan inherits Person {
//codey stuff here...
public void setSSN(String newSSN) {
SSN = newSSN;
}
}
它看起來像我不能真正改變從人的私人領域。我的印象是,當OldMan繼承Person時,它將擁有它自己的私有變量副本。看起來實際上發生的事情是,當我創建一個OldMan對象時,它創建了SSN字段,但是......它以某種方式屬於一個Person對象?
我意識到我可以讓SSN受到保護,但這是一種最佳做法嗎?實際上在這裏發生了什麼,以及如何創建一個父類,該父類可以訪問受保護的重要字段,而不保護它們免受子類的影響?
回答由此super.setSSN(..)更新,現在看起來很完美。感謝您的接受。 –