Ich möchte also überprüfen, ob eine Klasse einer Superklasse zugeordnet werden kann, die viele Unterklassen enthält, etwa so
%Vor%Warum kommt das falsch? Offensichtlich kann es der Klasse B als
zugewiesen werden %Vor%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)?
Wenn Sie testen möchten, ob der tatsächliche Typ a
B
oder ein Untertyp ist, haben Sie es rückwärts: es ist
Dies liegt daran, dass getClass()
die tatsächliche Klasse und nicht die deklarierte Klasse einer Variablen zurückgibt - a.getClass()
gibt die Klasse C
(C.class) zurück, die die tatsächliche Klasse des Objekts ist, das zugewiesen wurde an die Variable A a
und Sie können einem B
C
zuweisen
Tags und Links java inheritance subclass