所以我要檢查,看看是否一類是分配給包含很多子類,像這樣isAssignableFrom不適合子類
public class A {
public A(){ }
}
public class B extends A {
public B(){ }
}
public class C extends B {
public C(){ }
}
public static void main() {
A a = new C();
boolean whyAmIFalse = a.getClass().isAssignableFrom(B.class);
}
爲什麼這回假超類返回true ?顯然它可以被分配到B類
B b = (B)a
不會返回錯誤,那麼爲什麼這返回false。它不是它描述自己的功能嗎?有沒有一個函數能夠完成我想要的東西(即我是那個類還是它的一個子類)?
謝謝先生,我一直在爲這樣的過去而奮鬥,就像小時一樣。我現在覺得自己像一個白癡=)。 –