我这边有一个比较特别的需求,想请教一下大家目前的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
只是我在想有没有更好的方法 感谢大家