Wenn die Klassen "B" und "C" die Klasse "A" erweitern und ich ein Objekt des Typs "B" oder "C" habe, wie kann ich feststellen, von welchem Typ es eine Instanz ist?
if (obj instanceof C) {
//your code
}
Verwenden Sie Object.getClass(). Sie gibt den Laufzeittyp des Objekts zurück.
Sie können verwenden:
Object instance = new SomeClass();
instance.getClass().getName(); //will return the name (as String) (== "SomeClass")
instance.getClass(); //will return the SomeClass' Class object
HTH. Aber ich denke, die meiste Zeit ist es keine gute Praxis, die für den Kontrollfluss oder etwas ähnliches zu verwenden...