Cita: if(person instanceof Adult || person instanceof Child)
Esto no se hace , no debes preguntarle a un objeto de que tipo es , porque rompe con el polimorfismo supongamos que en vez de tener un jerarquia de dos objetos sea de
n, tendrias que tener
n condicionales uno por cada subtipo de la clase madre.
En cuanto a tu pregunta se puede hacer como dice xerelo o si de antemano sabes que solo usas los metodos de la clase hija declarar el objeto como tal, igualmente depende del caso hay un tanto que el casteo no es muy legible y se elige por no hacerlo otros que si ,depende del caso.
Saludos