在下面的代码中,我得到 java.lang.InstantiationException
(下面是独立编译的精简代码 - 在我的应用程序中,我想维护一个 Enum->Class 映射,并在从文件中读取整数值时,实例化适当的类以查看映射)。
如何摆脱错误?有语法问题吗?我必须使用接口吗?我在这里的理解是有限的。
class Main {
abstract class Base {
Base() {};
void print() {
System.out.println("I am in Base");
}
}
class D1 extends Base {
D1() {};
@Override
void print() {
System.out.println("I am in D1");
}
}
static Class<? extends Base> getMyClass() {
return D1.class;
}
public static void main(String[] args) {
try {
Class<?> cc = getMyClass();
Object oo = cc.newInstance();
Base bb = (Base) oo;
bb.print();
} catch (Exception ee) {
System.out.println(ee);
};
}
};