を作成します。私はこのように見ているクラスがあります。は、拡張型のオブジェクト
public class MyClass1 extends MyClass2 {
...
}
今私はMyClass2のオブジェクトを持っており、型MyClass1のオブジェクトを作成したいと思います。これはどうすればできますか?
MyClass2 origin = new MyClass2();
MyClass1 goal = new MyClass1();
goal.var1 = origin.var1;
goal.var2 = origin.var2;
goal.var3 = origin.var3;
そして用量が動作しないこの方法が、右方向にあるように感じている:次はそれを行うには非常に良い方法ではないでしょうか?サブクラスで
:
public MyClass2(MyClass2 copy){
this = copy;
}
public MyClass1(MyClass2 copy){
super(copy);
}
あなたはMyClass1が基本的にMyClass2であることを知っていますが、ほとんどの場合、いくつかのフィールドがありますか? – XtremeBaumer
あなたはそれをキャストしようとしていますか? 'MyClass1 goal = origin'?または、深いコピーをしたいですか? – vikingsteve
インスタンスを作成するには、 'MyClass1 obj1 = new MyClass1();'または 'MyClass2 obj2 = new MyClass1();'が必要です。 – john