这是一个初学者的问题,但我搜索了一下,似乎找不到答案。
假设我有一个班级人:
class Person {
private String SSN;
//blah blah blah...
}
然后我创建了一个子类 OldMan:
class OldMan inherits Person {
//codey stuff here...
public void setSSN(String newSSN) {
SSN = newSSN;
}
}
看起来我实际上无法更改 Person 的私有字段。我的印象是,当 OldMan 继承 Person 时,它会拥有属于它的私有变量的副本。似乎实际发生的是,当我创建一个 OldMan 对象时,它会创建 SSN 字段但是......它以某种方式属于一个 Person 对象?
我意识到我可以让 SSN 受到保护,但这是最佳做法吗?这里实际发生了什么,如何创建一个父类来保护重要字段的访问,而不保护它们免受子类的影响?