我有一个基类A
和派生类B
。 如何将...复制到一个简单的行中...将类型为A
的对象的字段复制到B
类型的对象中? 我有一个方法,如果有帮助,可以从字段值构建对象。 我不想使用任何类型的反射!如何将字段从基类复制到dervived类?
class A{
String id; //and setter/getter
}
class B extends A{
String b; //and setter/getter
}
public A buildA(String id){
A=new A();
a.setId(id);
return A();
}
// how to copy A=buildA("a") into a B type of object...
// I would avoid doing
//public B voidB(String id, string b){
B=new B();
b.setId(
b.setB...
// Remark - I cannot do the init from constructor with fields!
您只需要'B'类中的复制方法,它从'A'复制值:'public void copy(final A a)'。然后,只需在'B'里面写出所有的复制方法,你就可以调用'B b; A;',init'A'和'B',只要你想将'A'拷贝到'B'中,就调用'b.copy(a);'。 – Jared
为什么你不在构造函数中进行复制? – markusw
为什么?为什么你想要两次相同的数据? – EJP