我已经阅读了这篇文章:
但是我仍然感到困惑...
我只是在谈论继承,而不是访问。我知道它们在类外部不可见。
但是子类的对象是否拥有超类中这些私有成员的自己的副本?
例如...
class Base {
private int i;
}
class Derived extends Base {
int j;
}
现在,
Base b = new Base();
Derived d = new Derived();
int的大小为4
现在,
b的大小是4,d的大小是8吗?
还是说d的大小也只有4?
当然,我说的是堆上的对象,而不是引用。
更新:我刚刚在Kathy Sierra和Bert的SCJP书中读到...它说它们没有被继承...我发布这个更新,因为仍然有一群人说是的...
private
成员不会被继承,但存在于父类(超类)中实例化的对象中。你的问题实际上是关于遮蔽的(我想是吧?你似乎在谈论对象的大小,这在 Java 中不适用)。请参见:https://dev59.com/s3A75IYBdhLWcg3wDUco - Brian Roach