我這邊有一個比較特別的需求,想請教一下大家目前的java能不能做到
class A {
int a1;
int a2;
}
class B extends A {
int b1;
int b2;
}
我們現在有一個A的實體a
A a = getA();
然後我希望用這個實體去initialize出一個B
B b = new B(a); <==當然不會過
我有試過在B裡面用super試圖去initialize :
B(A a) {
super(a); <==除非A有copy constructor 不然也不會過
}
請問有沒有比較好的方法能夠new一個B 裡面關於A的部分通通用一個A的
實體去initialize呢?
基本上我不太願意用土炮的方法比方說
B(A a) {
this.a1 = a.a1;
this.a2 = a.a2;
}
當然,用reflect去掃出所有的A的field再設值給B也是可以
比方說我剛寫好的https://gist.github.com/Rayer/6c7547057adb99c74583
只是我在想有沒有更好的方法 感謝大家