したがって、クラスが多くのサブクラスを含むスーパークラスに割り当て可能かどうかを確認したいと思います。
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);
}
なぜこれはfalseを返すのですか?明らかに、クラスBに次のように割り当てることができます。
B b = (B)a
エラーを返さないのに、なぜこれがfalseを返すのですか。それはそれ自身を説明する機能ではありませんか?私が望んでいることを実行する関数はありますか(つまり、私はそのクラスまたはそのサブクラスです)?