Java Constructors Cannot Return Null

Unlike some other languages, Java constructors cannot return null.   This behavior is part of the language spec:

The value of a class instance creation expression is a reference to the newly created object of the specified class. Every time the expression is evaluated, a fresh object is created.

Let's take a look at code written by someone who was not aware of this:

ImageIcon imgIcon = new ImageIcon(IMAGE_PATH);

if (imgIcon != null) {
  setIconImage(imgIcon.getImage());
}

This is a misguided attempt at preventing a NullPointerException.  The boolean expression on line 3 will always be true so the condition is meaningless.

If there isn't enough space in the heap for the object, the JVM will throw an OutofMemoryError.