Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用父类的所有字段创建实例_Java_Inheritance_Extends - Fatal编程技术网

Java 使用父类的所有字段创建实例

Java 使用父类的所有字段创建实例,java,inheritance,extends,Java,Inheritance,Extends,我有一个名为a的Pojo和另一个名为B的Pojo,它扩展了a: 我有一个名为A类的实例 A a = new A(); a.setName("udy"); 我想得到一个B类的实例,其中包含a的所有值,但不知道a中的字段和值是什么 复制构造函数不会这样做,因为在向a添加字段时,我必须更新B的复制构造函数 我可以做到这一点,但我希望避免创建副本 我做了一些搜索,但没有找到我要找的东西 任何建议都将不胜感激 为什么要避免复制?看看Apache中的BeanUtils。在运行时需要更改对象的类型通常表明设

我有一个名为a的Pojo和另一个名为B的Pojo,它扩展了a:

我有一个名为A类的实例

A a = new A();
a.setName("udy");
我想得到一个B类的实例,其中包含a的所有值,但不知道a中的字段和值是什么

复制构造函数不会这样做,因为在向a添加字段时,我必须更新B的复制构造函数

我可以做到这一点,但我希望避免创建副本

我做了一些搜索,但没有找到我要找的东西


任何建议都将不胜感激

为什么要避免复制?看看Apache中的BeanUtils。在运行时需要更改对象的类型通常表明设计存在缺陷。也许你应该重新考虑你的概念。我不明白你为什么需要这个。如果你告诉我们,也许我们可以建议一个更好的方法来解决你的问题。我想在扩展对象中添加一些属性。但我希望我的代码不知道父对象中有哪些字段。另一种选择是使用组合而不是继承。。
A a = new A();
a.setName("udy");