Do subclasses inherit private fields?
这个问题解决了同样的问题,但我不太明白它如何满足下面(看似)矛盾的情况。
http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
表示“子类不继承其父类的私有(private)成员。”
这意味着它既不继承私有(private)实例变量也不继承私有(private)方法,对吧?
但是,如果它从其父级继承公共(public)访问器方法,这将如何工作?它返回一个它不知道存在的实例变量?
此外,我的计算机科学书籍(Baron 的 AP Computer Science A)对“(子类)从(父类(super class))继承了所有私有(private)实例变量和公共(public)访问器方法”的问题有正确答案。
这不是oracle教程的缩写吗?
谢谢你的帮助
最佳答案
访问器可以正常工作。请记住,访问器在父类(super class)的“上下文”中运行,因此访问器将能够看到对子类隐藏的成员。
至于教科书,就看你的观点了。子类继承了私有(private)成员,因为它们实际上存在于子类的实例中(因此它们会占用内存等),但子类将无法直接访问它们。
关于java - 子类是否继承父类(super class)的私有(private)实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10491002/