我有 2 个类:SubEditor 和 Editor。
public class SubEditor extends Editor {
我正在创建一个 SubEditor 对象并尝试将其转换为 Editor,但我会得到一个 ClassCastException:
try {
(Editor) ClassLoader.getSystemClassLoader().loadClass("bla.SubEditor").newInstance();
} catch (Exception ex) {
try {
Object object = ClassLoader.getSystemClassLoader().loadClass("bla.SubEditor").newInstance();
// prints "false":
System.out.println(object instanceof Editor);
// prints "bla.SubEditor":
System.out.println(object.getClass().getCanonicalName());
// prints "Super: bla.Editor":
System.out.println("Super: "+object.getClass().getSuperclass().getCanonicalName());
} catch (Exception e) {
// do sth
}
}
我怎么可能在“SubEditor instanceof Editor”上得到“假”?
例外:
java.lang.ClassCastException: bla.SubEditor cannot be cast to bla.Editor
希望你能帮忙!
问候,
马丁