gpt4 book ai didi

java - 继承Java私有(private)成员

转载 作者:行者123 更新时间:2023-12-01 17:53:26 25 4
gpt4 key购买 nike

我一直在研究java中的继承。我的问题是,如果私有(private)成员没有被继承,它们为什么会出现在内存中。内部是否有什么事情可以解决这个问题,或者它们只是隐藏/无法访问,没有父类的公共(public)成员函数。

这是java文档“子类不会继承其父类的私有(private)成员。但是,如果父类(super class)具有用于访问其私有(private)字段的公共(public)或 protected 方法,则子类也可以使用这些方法。

嵌套类可以访问其封闭类的所有私有(private)成员——包括字段和方法。因此,子类继承的公共(public)或 protected 嵌套类可以间接访问父类(super class)的所有私有(private)成员。”

最佳答案

它们在内存中,但您无权访问它们。

示例:

class A
{
private int foo;

public int getFoo( ) { return foo; }

...
}

class B extends A
{
...
}

事实上,B 类的每个实例在底层都包含一个整数 foo

但是,您无法直接访问它,因为它被声明为私有(private)。您可以通过 getFoo 方法间接访问它,因为该方法是 public

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

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