Ich habe mir den Kopf geschlagen, um zu verstehen, wie der Objekt-Typ-Casting in Java funktioniert und warum er überhaupt existiert. Siehe Beispiel unten.Worauf kommt es bei der Implizierung von Objekten an?
Meine Frage ist in Form von Kommentaren unten.
Bitte nicht vorschlagen, mich irgendwo zu erreichen. Das habe ich schon gemacht. Bitte antworte mir direkt, wenn du es weißt. Vielen Dank.
Überprüfen Sie diesen Code mit der Methode 'scream' überschrieben Ich bekomme keine Kompilierzeit Fehler. Sehen Sie Kommentare zu
Animal aniObj = new Animal();
Animal dogAniObj = new Dog();
Dog dogObj = new Dog();
ArrayList<Animal> animalArrayList = new ArrayList<Animal>();
animalArrayList.add(aniObj);
animalArrayList.add(dogAniObj);
animalArrayList.add(dogObj);//Here when I am able to add the Dog object there no point in creating dogAniObj above
aniObj.scream();//Calls scream of Animal
dogAniObj.scream();//Calls scream of Dog
dogObj.scream();//Calls scream of Dog. Then why do i need above statement? Why to attain polymorphic behavior when we can directly call scream method with the Dog object when needed?
Willkommen bei SO. Was ist deine Frage ? – c0der
Related: http://stackoverflow.com/questions/383947/what-does-it-mean-to-program-to-an-interface –
Wo erwarten Sie einen Kompilierungsfehler? – Bubletan