使用反射api获取当前类,组合类,超类的私有字段类型

时间:2015-12-21 19:56:06

标签: java reflection java-8 apache-commons

以下是我的情景:

Class A{
private Long aId;
}

Class C{
private BigDecimal decValue;
}

Class B extends A{
private Integer intValue;
private C c;
}

我有一个B类实例(B b = new B())。使用此b的实例,我正在尝试检索classA中的字段类型aId和类C中字段decValue的类型。

我试过了:  基于this java doc

  b.getDeclaredField("intValue").getType();//this works
    b.getDeclaredField("aId").getType();//Doesnt work, private field in super class
    b.getDeclaredField("decValue").getType();//Doesnt work, private field in composed

类   我也试过getField,这不能访问私有字段。

我期待的是:

 b.getDeclaredField("aId").getType();//should return Long.Class.
  b.getDeclaredField("decValue").getType();//Should return BigDecimal.class

感谢任何帮助。

0 个答案:

没有答案