我有一个基本问题。
有几个类,扩展了另一个类(“技能”)。
“技能”包含一些抽象方法,例如:
public abstract int getID();
public abstract String getName();
public abstract String getDescription();
和子类:
@Override
public int getID()
{
return 69;
}
@Override
public String getName()
{
return "name";
}
@Override
public String getDescription()
{
return "description";
}
现在,假设我需要获取 id 为“89”的子类的描述。
有没有比使用 HashMap 存储 id->classname 然后通过执行以下操作获取类的对象更简单的方法?:
Class cl = Class.forName(classname);
Object o = cl.getConstructor().newInstance();
Method m = cl.getMethod("getDescription");
return (String) m.invoke(o);