Null
Mit dem Schlüsselwort null wird der sog. Nullpointer, oder auch Nullreferenz, repräsentiert. Sie repräsentiert "nichts", also das Nichtvorhandensein von Informationen. Entsprechend besitzen nicht initialisierte Attributvariablen nach Instanziierung des Objektes immer den Wert null. Man kann auch jeder Objektvariablen den Wert null zuweisen, um die in der Variablen gespeicherte Referenz zu "löschen".
Im Gegensatz zur 0, die einen numerischen Wert beschreibt, ist null eine Referenz. Das heißt, dass einer Variablen mit Objektdatentyp der Wert 0 nicht zugewiesen werden kann und null einem primitiven Datentyp nicht zugewiesen werden kann.
Beispiele
public void doSomething(Object object){ if(object != null) { /* Do Something */ } }
Objektreferenzen jeden Typs können mit null verglichen werden. Dies sollte grundsätzlich getan werden, bevor auf einem übergebenen Objekt eine Methode aufgerufen oder mit dem Objekt gearbeitet wird.
public void clear(){ this.value = 0; this.attribute = null; }
Häufig werden Methoden bereitgestellt, um ein Objekt wieder in einen uninitialisierten Zustand zurückzusetzen. Objektreferenzen werden in diesem Zusammenhang gerne auf null gesetzt, während numerische Attribute auf 0 gesetzt werden.
Negativbeispiel
Object reference; int number; public void doesNotCompile(){ this.reference = 0; this.number = null; }