8.7. null

Uma variável de tipo não primitivo que não tenha sido inicializada, não referencia nenhum objeto. O seu conteúdo é indefinido até que lhe seja atribuído um valor.

Um valor que podemos atribuir a uma variável de qualquer tipo não primitivo é o valor null; este é um valor especial (e é uma palavra reservada do Java) e significa “nenhum objeto”.

A declaração com inicialização:

gera um estado da memória que se pode representar assim:

O valor null é representado por um pequeno quadrado contendo a palavra null em vez de uma seta.

Se tentarmos invocar um método sobre uma expressão cujo valor é null, o Java lança uma exceção NullPointerException, imprime uma mensagem de erro e termina o programa.

A instrução sb.append("Surpresa!"); provoca a exceção:

 


 

Anterior: 8.6. Aliasing

Seguinte: 8.8. Garbage Collection