gpt4 book ai didi

java - superClass 的私有(private)成员是否由子类继承......Java?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:40:37 24 4
gpt4 key购买 nike

我经历过这个:

Do subclasses inherit private fields?

但我还是很困惑...

我说的只是继承而不是访问。我知道他们在课外是看不到的。

但是子类的对象是否拥有父类(super class)中那些私有(private)成员的副本?

例如……

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 ?

当然,当我说 b 和 d 而不是引用时,我指的是堆上的对象。

更新:我刚读到 Kathy Sierra 和 Bert 的 SCJP Book...它说它们不是遗传的...我发布了这个更新,因为仍然有很多人说是...

最佳答案

是的,子类的实例将具有父类的私有(private)字段的副本。

然而,它们对子类不可见,因此访问它们的唯一方法是通过父类的方法。

关于java - superClass 的私有(private)成员是否由子类继承......Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14142737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com