java - 使用反射使用父类(super class)获取子类字段?

标签 java spring reflection

我有一个类如下。

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/

相关文章:

reflection - C# - 在运行时确定属性是 Type 还是 Object 实例?

java - 为运行时加载的类转换对象

java - 如何将 POJO 插入到键值数据库表中?

java - 是否有逐步执行流程的任何模式/方式?

java - Spring 存储库自动转换具有不同类类型的实体

java - 有没有办法在完整测试运行期间记录 JUnit5 @Disabled 原因值?

c# - C# 类型上的尾随点表示什么?

java - 编年史 map 上的迭代速度非常慢

java - 无法生成输出(for 循环)

java - 如何更改 inflate viewgroup 的子级