作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 Java 中是否可以让一个类扩展一个泛型类型,这样您就可以将一个方法注入(inject)到通过您的代码传递的任何类中? (或者是否有任何其他方法可以使用 Java 将方法注入(inject)或覆盖现有类?)
“扩展通用类型”的意思是这样的(类“T extends GameObject”属于游戏,可能不会更改并且未知,因为在运行时加载到游戏中(从其他模组)):
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 调用,通过这种方式,我可以将每个现有的游戏对象替换为一个在每个 tick 时向后移动的版本。
最佳答案
没有。您不能扩展泛型父类(super class)型。您可以扩展使用通用类型的类(例如 public class MyClass<T> extends TheirClass<T>
),但不能扩展纯通用类型。
关于java - 在 Java 中扩展泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14525174/
我是一名优秀的程序员,十分优秀!