All classes have a constructor. If none are explicitly written into the class definition, then a default no-args constructor is provided by the compiler.
Class/instance variables for non-primitive types are automatically initialized to null. However,
local variables (e.g., declared within a method) must be explicitly initialized before they are used or a compiler error will result.
As for "null instanceof ..." See
JLS 15.20.2.