有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使私有字段在继承的子类中可见

我对Java相当陌生,所以我认为我的问题会相当幼稚

对于我的一个项目,我决定用Java编写代码,我想使用封装继承概念

简而言之,我想知道是否有机会使超类中的私有字段在子类中以某种方式可见,尽管用户仍然无法访问


共 (4) 个答案

  1. # 2 楼答案

    你有两个选择

    1. 将中的private access修饰符更改为至少受保护。但如果这样做,变量可以在包内访问。不仅仅是子类

    2. 在父类中为私有变量定义get方法并使用super。子类中的getX()。此外,您可以将get method access修饰符设置为protected,以避免从包外的类访问get method

  2. # 3 楼答案

    简而言之,这是不可能的。最接近的选项是使其受到保护,但现在该字段可以从同一个包中的其他类访问,即使它们不扩展超类

    另一个选择是使用反射从子类访问这些字段,但这会非常难看