为了账号安全,请及时绑定邮箱和手机立即绑定

如何在多级继承中访问超类的相似字段

如何在多级继承中访问超类的相似字段

慕尼黑的夜晚无繁华 2021-04-30 14:15:42
如果基类和派生类具有相同的字段名称,则我们使用super关键字访问基类字段。但是在多级继承的情况下,每个类中也都有相同的字段名,那么如何在子类中访问父类的字段名。class GrandParent {  String name;}class Parent extends GrandParent {  String name;}class Child extends Parent {  String name;  //now here, how to access GrandParent name field}
查看完整描述

1 回答

?
MM们

TA贡献1886条经验 获得超2个赞

这里没有多重继承。您的代码段演示了字段隐藏

在类中,与超类中的字段具有相同名称的字段将隐藏超类的字段,即使它们的类型不同。在子类中,不能用其简单名称引用超类中的字段。而是必须通过访问该字段super

super允许您仅向下看到一个成员(=直接父成员)。像这样super.super的链在语法上被认为是无效的。

但是至少有两种方法可以实现您想要的:

  1. (GrandParent)this).name -上映至 GrandParent

  2. GrandParent.class.getDeclaredField("name").get(this) -通过反射提取


查看完整回答
反对 回复 2021-05-12
  • 1 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信