我有一個基類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