2016-03-22 7 views
-3

Kann jemand mir den Unterschied zwischen diesen beiden Objekterstellung sagenJava verschiedene Möglichkeiten zur Schaffung von Objekten

Methode 1:

Superclass ob = new Childclass(); 

Methode 2:

Childclass ob = new Shildclass(); 

Was wird der Unterschied zwischen beiden Objekten sein und warum.

Danke, Vijesh

+1

Nachschlagen Java Vererbung. – forgivenson

+0

https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html –

+1

Ihr Java-Lehrbuch sollte erklären. Wenn Sie seine Erklärung nicht verstehen, schlage ich vor, dass Sie versuchen, eine spezifischere Frage zu stellen. :-) –

Antwort

1

Der Unterschied ist:

Superclass a = new ChildClass(); 

ist als eine Art übergeordnete Klasse Instanz erklärt, es beschränkt sich auf die Mitglieder der Superklasse bedeutet.

ChildClass c = new ChildClass(); 

ist vom Typ Child und hat Zugang zu allen Mitgliedern sowohl der Child, und solche, die aus übergeordneten Klasse geerbt.

0

Von Difference Between Static Binding And Dynamic Binding In Java

Zuerst nannte man Dynamic ist die Bindung ein, die während der Laufzeit geschieht. Es wird auch späte Bindung genannt, da die Bindung stattfindet, wenn das Programm tatsächlich ausgeführt wird.

Während der Laufzeit werden tatsächliche Objekte zum Binden verwendet. Zum Beispiel, für “a1.method()” Aufruf in der unteren Abbildung, Methode() des tatsächlichen Objekts, auf das ‘a1’ zeigt wird aufgerufen werden. Für a2.method() Anruf, method() des tatsächlichen Objekts, auf das ‘a2’ verweist, wird aufgerufen. Diese Art der Bindung wird dynamische Bindung genannt.

Die dynamische Bindung des obigen Beispiels kann wie folgt demonstriert werden. enter image description here

0

Die Objektkreationen sind die gleichen. In beiden Fällen erstellen Sie eine Instanz der Childclass.

Der Unterschied zwischen diesen beiden Schnipsel liegt in dem, was Sie mit den Objektreferenzen nach der Objekterstellung tun.

Durch die Zuweisung der Objektreferenz an eine Variable vom Typ Superclass "verstecken" Sie vorübergehend einige Aspekte der Childclass -ness des Objekts. Aber das Objekt bleibt eine Instanz von Childclass, wie durch dieses veranschaulicht:

Superclass ob = new Childclass(); 
System.out.println(ob.getClass()); // prints "Childclass" 
Verwandte Themen