我正在尝试构建一个简单的工厂,在那里我得到一个扩展A
的类的类名并返回它的新实例。为此,我正在尝试为类对象构建类名映射:
public abstract class A {
}
public class B extends A {
}
public class AFactory {
private Map<String, Class<? extends A>> classesMap =
new HashMap<String, Class<? extends A>>() {
{
add("B", B.class);
}
};
}
但java不会调用add()(“The method add(String, Class<B>) is undefined for the type new HashMap<String,Class<? extends A>>(){}
”)。
我做错了什么?
答案 0 :(得分:3)
因为没有名为add
的方法,put
中的HashMap
方法用于在集合中添加键值对。