我知道之前已经问过这个问题,但是我发布了这个问题,因为老实说我不知道这是怎么回事。我访问过的最后一个网站有以下信息:
Class aClass = ... //obtain Class object. See prev. section
Class[] interfaces = aClass.getInterfaces();
所以假设我有这样的事情:
public interface Speech{
vocal doomething();
}
class english implements Speech{
public int doSomething() {
return 1;
}
class german implements Speech{
public int doSomething() {
return 2;
}
}
如何在数组中动态存储所有类?我问,因为现在我被迫做以下事情:
static HashMap<String, Speech> map = new HashMap<>();
并手动设置地图:
map.put("English", new English());
map.put("German", new German());
但我想做这样的事情:
function void setSpeech(String language) {
map.put(language, new x());
}
这怎么可能?可以用反射来完成吗?如果是,那怎么样?