todo ¡Hola,casting "dinámico" en Java
Se pregunta si hay algún hackers Java ¿Quién me puede pista en por qué no funciona el siguiente:
public class Parent {
public Parent copy() {
Parent aCopy = new Parent();
...
return aCopy;
}
}
public class ChildN extends Parent {
...
}
public class Driver {
public static void main(String[] args) {
ChildN orig = new ChildN();
...
ChildN copy = orig.getClass().cast(orig.copy());
}
}
el código es muy feliz para compilar, pero decide lanzar una ClassCastException en el tiempo de ejecución D =
Edit: Whoah, realmente respuestas rápidas. ¡Gracias chicos! Entonces parece que no puedo abatir usando este método ... ¿hay alguna otra forma de hacer downcasting en Java? Pensé en hacer que cada clase ChildN
sobrescribiera copy()
, pero no me entusiasmó agregar el código repetitivo adicional.
Puedes hacerlo. Eche un vistazo a mi edición. Pensé que tenías problemas para entender "casting" en primer lugar. – OscarRyz