There is no pointers concept in Java unlike C/C++. You will get NPE when you are trying to perform some operation on a reference that is not pointing to any concrete object(is null). So you have references and it has a type which points to an Object of that type or it's subclass.