Heim >Java >javaLernprogramm >Nicht-primitiver Datentyp
Die Java-Programmiersprache hat zwei Arten von Datentypen
Primitive data types (predefined data types) Non-primitive data types
In diesem Abschnitt werden wir die nicht-primitiven Datentypen, ihre Verwendung und Implementierung in Java verstehen.
Nicht-primitive Datentypen:
Datentypen definieren die Art der Daten, die in der Variablen gespeichert werden. Der Typ gibt die Art der Daten an (verschiedene Größen und Werte).
Im Gegensatz zu primitiven Datentypen sind diese nicht vordefiniert. Dabei handelt es sich um benutzerdefinierte Datentypen, die von Programmierern erstellt wurden. Diese Datentypen werden zum Speichern mehrerer Werte verwendet.
Stellen Sie sich beispielsweise ein Array (TBD) vor, das eine Gruppe von Werten speichert. Klasse ist auch ein primitiver Typ, der verschiedene Methoden und Variablen speichert. Daher werden diese in Java auch als erweiterte Datentypen bezeichnet.
Wenn ein nicht-primitiver Datentyp definiert wird, bezieht er sich auf einen Speicherort, an dem die Daten im Heap-Speicher gespeichert werden, d. h. er bezieht sich auf den Speicherort, an dem ein Objekt platziert wird. Daher wird eine nicht-primitive Datentypvariable auch als referenzierter Datentyp oder einfach als Objektreferenzvariable bezeichnet.
Eine Objektreferenzvariable befindet sich im Stapelspeicher und das Objekt, auf das sie verweist, befindet sich immer im Heapspeicher. Der Stapel enthält einen Zeiger auf das Objekt auf dem Heap.
In der Java-Programmierung werden alle nicht-primitiven Datentypen einfach Objekte genannt, die durch Instanziieren einer Klasse erstellt werden.
Wichtige Punkte:
Der Standardwert jeder Referenzvariablen ist null.
`
Immer wenn wir einen nicht-primitiven Datentyp an eine Methode übergeben, übergeben wir die Adresse des Objekts, in dem die Daten gespeichert sind.
Typen nicht-primitiver Datentypen
In Java gibt es fünf Arten nicht-primitiver Datentypen. Sie lauten wie folgt:
1.Class 2.Object 3.String(TBD) 4.Array(TBD) 4.Interface(TBD)
**
Eine Klasse in Java ist ein benutzerdefinierter Datentyp, d. h. sie wird vom Benutzer erstellt. Es fungiert als Vorlage für die Daten, die aus Mitgliedsvariablen und Methoden bestehen.
Ein Objekt ist die Variable der Klasse, die auf die Elemente der Klasse zugreifen kann, d. h. Methoden und Variablen.
Beispiel:
Im folgenden Beispiel erstellen wir eine Klasse, die die Variablen und Methoden ( add() und sub() ) enthält. Hier greifen wir auf die Methoden zu, indem wir das Objekt der Klasse obj.
verwenden`
ClassExample.java
public class ClassExample { // defining the variables of class int a = 20; int b = 10; int c; // defining the methods of class public void add () { int c = a + b; System.out.println("Addition of numbers is: " + c); } public void sub () { int c = a - b; System.out.println("Subtraction of numbers is: " + c); } // main method public static void main (String[] args) { // creating the object of class ClassExample obj = new ClassExample(); // calling the methods obj.add(); obj.sub(); } }
`
Unterschied zwischen primitiven und nicht-primitiven Datentypen in Java:
`
*In Java sind die primitiven Datentypen systemdefiniert, wir müssen jedoch die nicht-primitiven Datentypen erstellen und definieren.
*Im primitiven Datentyp können Variablen jeweils nur einen Wert speichern. In nicht-primitiven Datentypen können jedoch entweder mehrere Werte desselben Typs oder unterschiedlichen Typs oder beides gespeichert werden.
*Alle Daten für Variablen vom primitiven Typ werden auf dem Stapel gespeichert, während der Stapel für Referenztypen einen Zeiger auf das Objekt auf dem Heap enthält.
*Ein primitiver Typ beginnt mit einem Kleinbuchstaben, während nicht-primitive Typen mit einem Großbuchstaben beginnen.
*Die Größe eines primitiven Typs hängt vom Datentyp ab, während nicht-primitive Typen alle die gleiche Größe haben.
Referenz:https://www.javatpoint.com/non-primitive-data-types-in-java
Das obige ist der detaillierte Inhalt vonNicht-primitiver Datentyp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!