我這邊有一個比較特別的需求,想請教一下大家目前的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 只是我在想有沒有更好的方法 感謝大家