【发布时间】:2010-11-11 20:14:01
【问题描述】:
假设我有课
class car
{
int color = 1;
seats carSeats = new seats();
class seats
{
int numSeats = 4;
}
}
使用 Java 反射,我可以使用以下内容:
car c = new car();
Field[] carFields = c.getClass().getDeclaredFields();
carFields 将具有 { color, carSeats } 作为字段。实例 carSeats 有另一个名为 numSeats 的字段。
从技术上讲,我应该能够执行另一个 getFields() 操作,这样:
Field[] seatFields = carFields[1].getClass().getDeclaredFields();
但是我收到了垃圾数据(已声明,已公开?)为什么会这样? Java 反射是否不适用于内部类?
【问题讨论】:
-
注意
carFields[1]:字段为not by definition ordered!
标签: java reflection