不能注册课程

时间:2016-12-10 11:22:01

标签: java hashmap

将类文件放入Hashmap时遇到问题。

我正在尝试创建一个将注册命令的类(以后再使用它们)

public class CommandRegister {

    static HashMap<String, ICommand> commands = new HashMap<String, ICommand>();

    public static void addCommand(ICommand c){
        commands.put(c.getName(), c);
    }
}

这是我创建的接口(ICommand)

public interface ICommand {
    public String getName();
    public void run(Event ev);
}

和命令类

public class Help implements ICommand{

    @Override
    public String getName() {
        return "help";
    }

    @Override
    public void run(Event ev) {
        return;
    }
}

如果我现在在我的主要课程中运行此代码,它将不起作用。

public class Main {

    public static void main(String[] args){
        registerCommand();
    }

    private static void registerCommand() {
        CommandRegister.addCommand(Help);
    }
}

1 个答案:

答案 0 :(得分:3)

您需要使用“new”运算符创建帮助实例:

1 source, Func