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 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用