¿Cómo determinar la clase de un objeto?

Si la clase B y la clase C extienden la clase A y tengo un objeto de tipo B o C, ¿cómo puedo determinar de qué tipo es una instancia?

Solución
if (obj instanceof C) {
//your code
}
Comentarios (6)

Utilice Object.getClass(). Devuelve el tipo de tiempo de ejecución del objeto.

Comentarios (3)

Puedes usar:

Object instance = new SomeClass();
instance.getClass().getName(); //will return the name (as String) (== "SomeClass")
instance.getClass(); //will return the SomeClass' Class object

HTH. Pero creo que la mayoría de las veces no es una buena práctica usar eso para el flujo de control o algo similar...

Comentarios (1)