Ohé tous,« dynamique » Avec en Java
Vous vous demandez s'il y a des pirates Java qui peut me la moindre idée de la raison pour laquelle à ce qui suit ne fonctionne pas:
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());
}
}
Le code est très heureux pour compiler, mais décide de lancer une ClassCastException à l'exécution D =
Editer: Whoah, des réponses vraiment rapides. Merci les gars! Donc, il semble que je ne peux pas downcast en utilisant cette méthode ... est-il un autre moyen de faire de downcasting en Java? J'ai pensé que chaque classe ChildN
écraserait copy()
, mais n'était pas enthousiaste à l'idée d'ajouter le code supplémentaire.
Vous pouvez le faire. Jetez un oeil à mon édition. Je pensais que vous aviez des problèmes à comprendre "couler" en premier lieu. – OscarRyz