我有一个类如下。
public class Emp{
private String name;
private String age;
//setters and getters
}
下面还有一节课。
public class Student extends Emp{
private int marks;
//setters and getters
}
有没有办法使用 java 反射获取使用父类(super class)的子类的字段? 我需要使用 Emp 实例获取 Student 字段。
我们可以得到父类(super class)字段如下:
subClass.getClass().getSuperclass().getDeclaredFields();
同样,我可以使用父类(super class)获取子类字段吗?
这可能吗?
谢谢!
最佳答案
我可能误解了你的问题。你想做类似下面的事情吗?
Emp e = new Student(...);
[do something with e]
foo = e.marks;
如果是,就这样做:
foo = ((Emp)e).marks;
但是,如果您想执行以下操作:
Emp e = new Emp(...);
[do something with e]
e.marks = ....
那么不,这是不可能的,我怀疑你的 java 对象模型的内部模型不完整或有缺陷。
关于java - 使用反射使用父类(super class)获取子类字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16811632/