Java 使用实现";“听众”;在枚举中

Java 使用实现";“听众”;在枚举中,java,events,enums,listener,Java,Events,Enums,Listener,有人知道如何将类用作需要在枚举中实现“侦听器”的参数吗 例如,我想通过EventType.MY_LISTENER.register()动态加载一些类 “java:不兼容类型:java.lang.Class无法转换为my.package.Listener” 任何帮助都将不胜感激。因为Main.registerListener需要Listener类型,而您实际上传递的是Class(一种包含有关GameSistener类的元数据的类型)相反,realGameStartListener对象。因为Main

有人知道如何将类用作需要在枚举中实现“侦听器”的参数吗

例如,我想通过EventType.MY_LISTENER.register()动态加载一些类

“java:不兼容类型:java.lang.Class无法转换为my.package.Listener”


任何帮助都将不胜感激。

因为
Main.registerListener
需要
Listener
类型,而您实际上传递的是
Class
(一种包含有关
GameSistener
类的元数据的类型)相反,real
GameStartListener
对象。

因为
Main.registerListener
需要
Listener
类型,而您实际传递的是
Class
(一种包含有关
GameStartListener
类元数据的类型)而不是real
GameStartListener
对象

public enum EventType {
    GAME_START(GameStartListener.class);

    private Class<?> clazz;

    EventType(Class<?> clazz) {
        this.clazz = clazz;
    }

    public void register() {
        Main.registerListener(this.clazz);
    }
}
Main.registerListener(this.clazz);