Javaでクラスにジェネリック型を拡張させて、コードを介して渡される任意のクラスにメソッドを挿入できるようにすることは可能ですか?(または、Javaを使用して既存のクラスにメソッドを挿入またはオーバーライドする他の方法はありますか?)
「ジェネリック型を拡張する」とは、次のようなものです(クラス「Textends GameObject」はゲームに属し、変更できない可能性があり、実行時に(他のmodから)ゲームにロードされるため不明です)。
class GameObject {
void moveForward(float amount) {
this.camera.z += amount;
}
}
class Extender<T extends GameObject> extends T {
void onTick(float time) {
this.camera.z -= amount;
}
}
onTickはGameEngineによって呼び出されます。このようにして、既存のすべてのゲームオブジェクトを、ティックごとに逆方向に移動するバージョンに置き換えることができます。