Co kdybychom pole pouze deklarovali a nevytvořili:
Clovek[] lidi;
lidi[0] = new Clovek("Václav Klaus", Clovek.MUZ);
Toto by skončilo s běhovou chybou "NullPointerException", pole neexistuje, nelze do něj tudíž vkládat prvky!
Pokud tuto chybu uděláme v rámci metody:
public class Pokus {
public static void main(String args[]) {
String[] pole;
pole[0] = "Neco";
}
}
překladač nás varuje:
Pokus.java:4: variable pole might not have been initialized
pole[0] = "Neco";
^
1 error
Pokud ovšem pole bude proměnnou objektu/třídy:
public class Pokus {
static String[] pole;
public static void main(String args[]) {
pole[0] = "Neco";
}
}
Překladač chybu neodhalí a po spuštění se objeví:
Exception in thread "main" java.lang.NullPointerException
at Pokus.main(Pokus.java:4)