0 Daumen
151 Aufrufe

Hi, kann mir jemand den Unterschied zwischen normalen Datentypen und den komplexen Datentypen nennen?

Es ist doch so das wir z.B folgendes tun um Instanzen zu erzeugen: 

test = new Test(); (dient nur als Beispiel damit meine Frage verstanden wird)

Was genau stellt dieser Ausdruck da? Für mich ist das nur eine Variable den eine Instanz übergeben wird womit wir dann mehr möglichkeiten haben als wenn wir nur eine Zahl zuweisen wie bei naiven Datentypen.

Eine Instanz ist sozusagen das Erzeugnis aus einer Klasse?

Avatar von

1 Antwort

+1 Daumen
normalen Datentypen

Mit "normalen Datentypen" meinst Du vermutlich die primitiven Datentypen. Dazu zählen z. B. int (Integer), float (Float, Gleitkomma), boolean (Boolean) oder char (Character). Sie zeichnen sich dadurch aus, dass von ihnen keine Objekte instantiiert werden können. Primitive Datentypen werden von Java bereitgestellt und in IDS durch als Keyword farblich hervorgehoben.

komplexen Datentypen

Komplexe Datentypen sind Datentypen, die man selbst definieren kann. Dies geschieht durch eine Klasse. Strings sind übrigens ebenfalls komplexe Datentypen. Man erkennt komplexe Datentypen in Java auch daran, dass sie großgeschrieben werden, was bei primitiven Typen nicht der Fall ist. Mit dem Ausdruck

Test test = new Test()

erzeugst Du eine Variable vom (komplexen Daten-)Typ Test. Die runden Klammern () stellen einen sogenannten Konstruktor-Aufruf dar. Die Variablen komplexer Datentypen bezeichnet man als "Objekte". Mit einem Konstruktor können solche Objekte gebaut werden.

Es kann aber auch (je nach Aufbau der Klasse) dem Konstruktor ein oder mehrere Parameter übergeben werden. So z. B.:

Human me = new Human("André",25)

Als erster Parameter wird der Name (als String) und als zweites das Alter (als Integer) übergeben. Der Konstruktor baut nun ein spezielles Objekt vom Typ Human.

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community