2013-05-24 2 views
8

Ich studierte Polymorphismus von "Head First Java" und kam zu diesem Konzept. Kann mir das bitte mit einem Beispiel erklären?Unterschied zwischen Objekttyp und Referenztyp

Der Compiler prüft die Klasse des Referenztyps - nicht den Objekttyp.

Was ist der Unterschied zwischen Referenztyp und Objekttyp?

+0

können Sie etwas mehr Kontext hinzufügen. – UmNyobe

+0

http://is.gd/9hXyID siehe hier, – Sikander

Antwort

27

Ich glaube nicht, dass ihre Verwendung von "Objekttyp" und "Referenztyp" standardisiert ist, aber hier ist meine Interpretation.

Betrachten Sie diesen Code:

Object o = new Integer(3); 

Die Referenzo von Object Typ ist. Das Objekt , auf das es verweist, ist vom Typ Integer. Der "Referenztyp" wäre Object und der "Objekttyp" wäre Integer.

Was verwirrend macht ist, dass es die (standardisierte, offizielle) Begriff „reference type“, die Typen kapselt, auf die verwiesen werden kann. In Java, das alle Klassen, Enums, Schnittstellen und Arrays enthält. Es schließt nur die primitiven Typen aus (int, ...).

+0

Sehr schöne Interpretation Vielen Dank Herr .. – Sikander

+0

Danke, das hat mich tatsächlich klar gemacht! – Kulasangar

6

Was mit den Begriffen gemeint ist, ist die folgende:

  • Objekttyp (in Ihrem Buch) = den tatsächlichen Laufzeittyp des referenten
  • Referenztyp (in Ihrem Buch) = der statische typ der referenz

Vielleicht werden einige es einfacher finden, mit diesen Begriffen zu verstehen.