Warum sind Variablen, die man nicht initialisiert hat manchmal null, wenn man ein Objekt erzeugt (Java)?

2 Antworten

So ist das eben bei reference types. Wenn du sowas schreibst wie

MyClass myObject;

dann hast du mit myObject etwas geschaffen, das auf ein Objekt vom Typ MyClass zeigen soll (eine sogenannte "Referenz"). Du hast aber noch nicht definiert, auf welches Objekt genau hier verwiesen wird. Da im Zweifelsfall noch überhaupt kein Objekt erschaffen wurde, verweist myObject vorerst einmal auf null, bis du ihm ein konkretes Objekt zuweist.


qwdoijoi21 
Beitragsersteller
 15.10.2021, 15:52

Danke dir

Wenn du eine Variable nur deklarierst, aber keinen Wert zuweist (sie initialisierst), hat die Variable nunmal keinen Wert. Das ist dann halt null.

Bei primitiven Datentypen wie zum Beispiel dem Integer wird ein Defaultwert gesetzt. Beim Integer wäre dies eine 0.

Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung