在Java中扩展generics类型

在Java中是否可以让类扩展generics类型,以便您可以将方法注入到通过代码传递的任何类中? (或者有没有其他方法可以使用Java将方法注入或覆盖到现有类中?)

我对“扩展generics类型”的意思是这样的(类“T extends GameObject”属于游戏,可能不会被更改并且因为在运行时加载到游戏中而未知(来自其他mod)):

class GameObject { void moveForward(float amount) { this.camera.z += amount; } } class Extender extends T { void onTick(float time) { this.camera.z -= amount; } } 

onTick由GameEngine调用,通过这种方式,我可以用每个tick上向后移动的版本替换每个现有的游戏对象。

不可以。您无法扩展通用超类型。 您可以扩展使用generics类型的类(例如, public class MyClass extends TheirClass ),但不能扩展纯generics类型。

在我看来,你可以找到解决方案,而不是语言的function,但在一些设计模式,如装饰器或模板方法模式 。

如果在运行时确定行为,则可以查看行为模式 。