color4you 2009-02-02 21:55
浏览 200
已采纳

如果简便的获取子类的成员变量和其继承的超类的成员变量?

[code="java"]
public class Father{
protected int size;
private int capacity;
}
[/code]

[code="java"]
public class Child extends Father{
private int index;
}
[/code]

简要的说:我希望能通过java的反射机制来获取Child的有效字段,包括继承自Father的size,和其自身的成员变量index。
想了很久没有找到什么快捷的方法,很容易就能获得Child自身的成员变量,但不知道怎么获取其继承自父类的成员变量。

希望大家帮助,谢谢!
[b]问题补充:[/b]
我也清楚这样可以获得超类的成员变量
但是如果Father还有超类呢?是否只有通过递归去获取所有继承的字段?
看起来就像这样:
[code="java"]
public void getField(Class cls){
if(!cls.getSuperClass().equals(Object.class)){
Field[] fields = cls.getFields();
getField(cls.getSuperClass());
}

}
[/code]

还有更简便的方法可以获取一个类自身和所有继承的字段吗?

  • 写回答

2条回答 默认 最新

  • wwwghost 2009-02-02 22:05
    关注

    [code="java"]Child.class.getSuperclass().getFields();[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料