Se a classe B
e a classe C
estendem a classe A
e eu tenho um objeto do tipo B
ou C
, como posso determinar de que tipo se trata de uma instância?
Use Object.getClass(). Ele retorna o tipo de tempo de execução do objeto.
Você pode usar:
Object instance = new SomeClass();
instance.getClass().getName(); //will return the name (as String) (== "SomeClass")
instance.getClass(); //will return the SomeClass' Class object
HTH. Mas acho que na maioria das vezes não é uma boa prática usar isso para controlar o fluxo ou algo semelhante...