SubEditor と Editor の 2 つのクラスがあります。
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」で「false」になる可能性はありますか?
例外:
java.lang.ClassCastException: bla.SubEditor cannot be cast to bla.Editor
あなたが助けてくれることを願っています!
ご挨拶、
マーティン