Java 反射-向其投射对象';正在运行的未知超类是什么?

Java 反射-向其投射对象';正在运行的未知超类是什么?,java,reflection,private,Java,Reflection,Private,您好,我现在的情况是,我可以访问扩展了基金会的类房屋(请注意,类名是假设的)。我有一个类型为House的对象,我想获取设置为private的字段Foundation.width。我已经想出了代码: 1.) Field list = houseObject.getClass().getSuperclass() .getDeclaredField("width"); 2.) list.setAccessible(true);

您好,我现在的情况是,我可以访问扩展了
基金会
的类
房屋
(请注意,类名是假设的)。我有一个类型为
House
的对象,我想获取设置为private的字段
Foundation.width
。我已经想出了代码:

1.) Field list = houseObject.getClass().getSuperclass()
                                     .getDeclaredField("width");
2.) list.setAccessible(true);
3.) this.width = (double)list.get(foundationObject);
问题是,对于第3行,我没有访问一个基础对象,我可以访问一个内部对象,而且由于我在编译时还没有真正了解基础的类,所以我不能抛出<代码>(基金会)基础对象< /代码>。p> 有解决办法吗?谢谢你的帮助



更好的解释这个问题的方法可能是:我可以从对象中获取超类类型的非静态对象吗?

尝试
list.get(houseObject)
可访问性更改将级联到子类,因此可以直接从
houseObject

访问字段。为什么不尝试list.get(houseObject)?我想可访问性的改变会层叠到子类中。这很有效,谢谢。作为答案发布,我会接受。我已经添加了答案