Hullo alle,"Dynamic" Casting in Java
Sie fragen, ob es irgendwelche Java Hacker sind, die können Ahnung mich in auf, warum die folgende nicht funktioniert:
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());
}
}
Der Code recht glücklich ist zu kompilieren, aber entscheidet, eine ClassCastException zur Laufzeit zu werfen D =
Edit: Whoah, wirklich schnelle Antworten. Danke Leute! Es scheint also, dass ich mit dieser Methode nicht downcast. Gibt es eine andere Möglichkeit, Downcasting in Java durchzuführen? Ich habe darüber nachgedacht, jede ChildN
Klasse copy()
zu überschreiben, war aber nicht begeistert von dem Hinzufügen des zusätzlichen Standardcodes.
Sie können es tun. Sieh dir meinen Schnitt an. Ich hatte Probleme, das "Casting" an erster Stelle zu verstehen. – OscarRyz