Il linguaggio Java prevede un valore speciale per le variabili reference che non referenzia nessuna istanza di un oggetto. Il valore speciale null rappresenta un oggetto inesistente, e viene assegnato di default ad ogni variabile reference.
Se la applicazione esegue una chiamata ad un oggetto tramite una variabile reference non inizializzato, il compilatore Java produrrà un messaggio di errore di tipo NullPointerException5.
Quando ad una variabile reference viene assegnato il valore null, l’oggetto referenziato verrà rilasciato e, se non utilizzato verrà dato in pasto alla garbage collection che si occuperà di rilasciare la memoria allocata per la entità.
Altro uso che può essere fatto dell’oggetto null riguarda le operazioni di comparazione come visibile nell’esempio seguente. Le poche righe di codice dichiarano un array di interi chiamato numbers. Mediante l’istruzione per il controllo di flusso if controlla se l’oggetto array sia stato creato o no.
Stack s = null;
int numbers[];
if (numbers == null)
{
… … ..
}
Facciano attenzione i programmatori C, C++. Il valore null nel nostro caso non
equivale al valore 0, ma rappresenta un oggetto nullo.