So überprüfen Ich möchte, um zu sehen, ob eine Klasse zu einer Superklasse zugeordnet werden kann, die viele Unterklassen, so etwas wie diesesIsAssignableFrom nicht true zurück für Unterklasse
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);
}
enthält Warum diese Rückkehr tut falsch ? Offensichtlich kann es der Klasse B zugewiesen werden
B b = (B)a
gibt keinen Fehler zurück, also warum wird das falsch zurückgegeben. Ist es nicht die Funktion, die es selbst beschreibt? Gibt es eine Funktion, die das erreicht, was ich will (dh ich bin diese Klasse oder eine Unterklasse davon)?
Vielen Dank, mein Herr, ich habe mit der Vergangenheit für die Vergangenheit gekämpft. Ich fühle mich jetzt wie ein Idiot =). –