在下面的代碼,我得到java.lang.InstantiationException的Java Class.newInstance錯誤
(下面是下調,編譯獨立代碼 - 在我的應用我想保持Enum->類映射,以及在讀取文件中的整數值時,實例化適當的類來查看地圖)。
如何擺脫錯誤?是否有語法問題?我必須使用接口嗎?我在這裏的理解是有限的。
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);
};
}
};
燦你給你的例外堆棧跟蹤? – tom
在eclipse控制檯中,我只能看到這一行:'java.lang.InstantiationException:mypackage.Main $ D1' – workwise
嘗試'ee.printStackTrace();' – tom