? Ogni programmatore Java infine scrive un programma che genera il messaggio di errore " NullPointerExceptions " . E 'particolarmente criptico a coloro che stanno iniziando la loro carriera di programmazione per l'apprendimento di Java , che non espone i programmatori al concetto di un puntatore . Puntatori  
 Un puntatore è un termine informatico per una variabile che , invece di tenere un po 'di informazioni , in possesso di un indirizzo per cui tali informazioni si possono trovare nella memoria di un computer. Potete immaginare la variabile come un cartello che "punti" a cui le informazioni si possono trovare . In linguaggi come C + + , il programmatore deve fare una scelta esplicita in merito se una data variabile conterrà le informazioni direttamente o sarà invece in possesso di un puntatore alle informazioni e questa scelta può avere un effetto profondo sulla efficienza del programma . Per esempio, se una determinata classe contiene pochi megabyte valore delle informazioni che devono essere comunicate in una funzione , è molto più efficace per dare alla funzione un puntatore che per copiare direttamente tutte le informazioni. 
 
 Java risparmia programmatori questo dilemma e il bug può produrre nascondendosi puntatori dal programmatore . 
 Null 
 
 Null è un altro termine speciale in informatica. Si riferisce ad una variabile che letteralmente non contiene informazioni . Fino a qualche informazione è assegnato ad esso , si dice che sia uguale a null. Ad esempio , nel codice seguente : 
 
 String s ; s = new String ( ) ; 
 
 Dopo la prima riga è terminata, "s" è uguale a null . Dopo la seconda linea è finito , "s" è uguale a una stringa vuota .