Мне нравится объяснение коллеги, который он дал по поводу того, что же такое NullPointerException в java:
- Ну вот, предположим, ты приходишь к маме и говоришь: "Мама, мама, можно я заведу щеночка?". А мамы нет. Возможно она умерла 10 лет назад. А может ее никогда и не существовало. И в этот момент возникает NullPointerException