抽象メソッドが実装された、匿名の内部クラスとしてほとんどインスタンス化される抽象クラスがあります。これらのインスタンスは渡されるので、コードの別の場所で、これらのインスタンスの1つである新しいインスタンスのコピーを取得したいと思いますが、メソッドは同じ方法で実装されています。これが私のコードの例です:
public abstract class AbstractClass {
String id;
Entity owner;
public AbstractClass(String id){
this.id=id;
}
public Mover(){
id="This is an id";
}
abstract void update();
}
私はそれを次のようにインスタンス化します:
AbstractClass instance= new AbstractClass("This is a test"){
void update(){
//do stuff
}
}
後で、update()が同じことを行う、そのインスタンスの参照ではなくコピーが必要ですが、所有者は別のエンティティになります。リフレクション(.getClass.newInstance())を使用しようとしましたが、java.lang.InstantiationExceptionが発生します。なぜこれが機能しないのですか、そして私がしていることを行うためのより良い方法がありますか?