我是菜鸟,我需要一些帮助。
所以我有这个带有私有(private)变量的抽象类。我还有一个名为 getThing() 的方法来返回它。
我有一个扩展该抽象类的类,它也有一个私有(private)变量和一个覆盖原始变量以从抽象类获取值的方法。
能够访问这两个值的唯一方法是在名为 getSuperThing 的子类中创建第二个方法,并在其中使用 super。好吧,出于好奇,我只是想知道是否有更简单的方法可以做到这一点,并且能够通过执行类似 objectNae.super.getThing() 的操作来访问抽象类方法。
谢谢;)
最佳答案
该变量是私有(private)的
,因此只能由包含(抽象)类引用。如您所述,您可以从子类调用父类(super class)方法(而不是重写的方法)。
如果您想让子类可以直接访问该变量(不需要访问器方法),请将其设置为 protected
。这是关于 Controlling Access to Members of a Class 的文档.
关于Java 使用重写的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10527220/