Java bietet zwei Arten von
Java-Referenztypen
In Java gibt es die folgenden fünf Arten von Referenztypen:
Referenztyp | Beschreibung |
---|---|
Klasse | Es handelt sich um eine Reihe von Anweisungen. Es beschreibt den Inhalt des Objekts. |
Array | Es stellt die Datenstruktur fester Größe bereit, in der die Elemente desselben Typs gespeichert werden. |
Anmerkungen | Es bietet eine Möglichkeit, Metadaten mit Programmelementen zu verknüpfen. |
Schnittstelle | Es wird durch Java-Klassen implementiert. |
Aufzählung | Es handelt sich um eine besondere Art von Klasse, die typsicher ist. Jedes Element innerhalb der Aufzählung ist eine Instanz dieser Aufzählung. |
Referenz vs. primitive Datentypen
Referenztyp | Primitiver Typ |
---|---|
Es ist außer dem String nicht vordefiniert. | Es ist in Java vordefiniert. |
Alle Referenztypen beginnen mit einem Großbuchstaben. | Alle primitiven Typen beginnen mit einem Kleinbuchstaben. |
Nicht-primitive Typen haben alle die gleiche Größe. | Die Größe eines primitiven Typs hängt vom Datentyp ab. |
Es wird zum Aufrufen oder Aufrufen von Methoden verwendet. | Wir können die Methode nicht mit einem primitiven Typ aufrufen. |
Es kann null sein. | Es darf nicht null sein. Es hat immer einen Wert. |
Beispiele für Referenzdatentypen sind Klasse, Arrays, String, Schnittstelle usw. | Beispiele für primitive Datentypen sind int, float, double, Boolean, long usw. |
JVM weist standardmäßig 8 Bytes für jede Referenzvariable zu. | Seine Größe hängt vom Datentyp ab. |
Beispiel : Demo d1; | Beispiel : int num=78; |
Speicherzuweisung und Garbage Collection
In Java ist das neues Schlüsselwort wird verwendet, um eine zu erstellen Beispiel der Klasse. Mit anderen Worten: Es instanziiert eine Klasse durch Zuweisung Erinnerung für ein neues Objekt und Zurückgeben eines Verweises auf diesen Speicher. Objekte belegen Speicher im Java-Heap-Bereich. Wir können auch das Schlüsselwort new verwenden, um das zu erstellen Array-Objekt .
ClassName objectName = new ClassName();
Wenn keine Verweise auf ein Objekt vorhanden sind, kann der von diesem Objekt verwendete Speicher während des Garbage Collection-Prozesses zurückgefordert werden.
Konvertierung zwischen primitivem Typ und Referenztyp
Die Konvertierung eines primitiven Typs in einen Referenztyp wird aufgerufen Autoboxen und die Konvertierung des Referenztyps in einen primitiven Typ wird aufgerufen Auspacken .
Referenztyp vergleichen
Wir können auch die Referenztypen in Java vergleichen. Java bietet zwei Möglichkeiten zum Vergleichen von Referenztypen:
Durch Verwendung des Gleichheitsoperators (==).
Es vergleicht die Speicherorte der Objekte. Wenn die Speicheradresse (Referenz) beider Objekte gleich ist, sind die Objekte gleich. Beachten Sie, dass der Inhalt des Objekts nicht verglichen wird. Zum Beispiel:
Demo d1 = new Demo('Atlanta'); //creating a reference of Demo class Demo d2 = d1; //assigning the reference d1 into d2 if(d1=d2) //comparing reference
Durch Verwendung der String.equals()-Methode
Die Methode gehört zur Zeichenfolge Klasse. Es überschreibt die gleich() Methode der Objekt Klasse . Außerdem wird der Gleichheitsoperator (==) zum Vergleich des Referenztyps verwendet. Betrachten Sie beispielsweise den folgenden Codeausschnitt:
String str1='JAVA'; String str2='JAVA'; String str3='java'; System.out.println(str1.equals(str2)); //returns true because content and case is same System.out.println(str1.equals(str3)); //returns false because case is not same
Referenztyp kopieren
Beim Kopieren von Referenztypen gibt es zwei Möglichkeiten: Entweder wird eine Kopie der Referenz auf ein Objekt erstellt oder es wird eine tatsächliche Kopie (Erstellung einer neuen Kopie) des Objekts erstellt.
Im folgenden Beispiel haben wir dem Objekt eine Referenz zugewiesen. Wenn wir Änderungen am Objekt vorgenommen haben, spiegelt es auch die Referenz wider und umgekehrt.
Sum s1 = new Sum(); Sum s2= s1;