th3*_*c0n 3 java generics code-injection
在Java中是否可以让类扩展泛型类型,以便您可以将方法注入到通过代码传递的任何类中?(或者有没有其他方法可以使用Java将方法注入或覆盖到现有类中?)
我对"扩展泛型类型"的意思是这样的(类"T extends 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;
}
}
Run Code Online (Sandbox Code Playgroud)
onTick由GameEngine调用,通过这种方式,我可以使用在每个tick上向后移动的版本替换每个现有游戏对象.
不可以.您无法扩展通用超类型.您可以扩展使用泛型类型的类(例如public class MyClass<T> extends TheirClass<T>),但不能扩展纯泛型类型.
| 归档时间: |
|
| 查看次数: |
5545 次 |
| 最近记录: |