任何人都知道如何使用类作为需要在枚举中实现“Listener”的参数?
例如,我想通过EventType.MY_LISTENER.register()动态加载一些类;
public enum EventType {
GAME_START(GameStartListener.class);
private Class<?> clazz;
EventType(Class<?> clazz) {
this.clazz = clazz;
}
public void register() {
Main.registerListener(this.clazz);
}
}
“GameStartListener”是一个实现“Listener”的类,但我不确定如何做到这一点,因为它显示了语法错误:
Main.registerListener(this.clazz);
“java:不兼容的类型:java.lang.Class无法转换为my.package.Listener”
任何帮助都会非常感激。
答案 0 :(得分:0)
由于Main.registerListener
需要Listener
类型,并且您实际传递Class<GameStartListener>
(包含有关GameStartListener
类的元数据的类型)而不是真实的GameStartListener
对象