2016-04-21 16 views
-2

Es ist eine Linie, die die meisten OOP-Programme haben, und es sieht aus wie diesesObjektbau Klärung

Foo a = new Foo(); 
Animal b = new Dog(); 
Animal c = new Turtle(); 

Wie lautet der Name dieser Linie ist? Aufruf des Konstruktors?

Ich versuche zu finden, was es bedeutet, wenn die ersten und letzten Wörter dieser Zeile unterschiedliche Dinge sind (Thing1 a = new Thing2).

+0

Blick auf die klassische Dokumentation: https://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html – Berger

+0

ich eine anwser geschrieben , aber ich empfehle Ihnen, Dokumentationen von Java und Konstruktoren zu betrachten –

+0

In Bezug auf die Java AST sind diese Zeilen Anweisungen, die ['VariableTree'] enthalten (https://docs.oracle.com/javase/7/docs/jdk/ api/javac/tree/com/sonne/source/tree/VariableTree.html) s. –

Antwort

0

Ich denke, das „Upcasting“ (basierend auf Java Buch über Denken) aufgerufen wird:

Wir nennen diesen Prozess eine abgeleitete Art der Behandlung, als ob es sein Basistyp Upcasting war. (Seite 26 - Denken in JAVA)

enter image description here