我这里有几个类,如下所示:
我该如何更改
实际上,我正在尝试实现工厂模式,其中子类向工厂注册,但我已经简化了这个问题的代码。
public class TrueFalseQuestion implements Question{
static{
QuestionFactory.registerType("TrueFalse", "Question");
}
public TrueFalseQuestion(){}
}
...
public class QuestionFactory {
static final HashMap<String, String > map = new HashMap<String,String>();
public static void registerType(String questionName, String ques ) {
map.put(questionName, ques);
}
}
public class FactoryTester {
public static void main(String[] args) {
System.out.println(QuestionFactory.map.size());
// This prints 0. I want it to print 1
}
}
我该如何更改
TrueFalseQuestion
类,以便静态方法始终运行,这样当我运行主方法时,我得到1而不是0?我不想改变主方法。实际上,我正在尝试实现工厂模式,其中子类向工厂注册,但我已经简化了这个问题的代码。