Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java Language
Expertise: Beginner
Sep 14, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning


Since there are no pointers in Java why is there a NullPointerException?

It is a bit misleading to say that Java does not have pointers. Reference variables are very similar to automatically dereferenced pointers, but act in a safer manner. It is more accurate to say that Java does not support pointer arithmetic or access to raw memory. Reference variables still need to point to real objects, even though they do not point to raw memory. An uninitialized reference variable holds the null reference value, which is a special value meaning that the variable does not reference anything. A reference variable can also be made to no longer reference an object by assigning it the null value.

Any time you try to invoke a method, or access a member variable of a null reference, the JVM will throw a NullPointerException. This exception could just as easily been called NullReferenceException. Java's designers probably opted for the first name because references are very closely related to pointers, and C/C++ programmers are used to the idea of attempting to reference a null pointers.

DevX Pro
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date