Tengo las siguientes dos variables de objeto
Date a;
Date b=null;
Definitivamente tanto 'a' como 'b' no se refieren a ningún objeto.
Ahora si invoco la siguiente declaración
System.out.println(a.toString());
Habrá un error de tiempo de compilación, mientras que si invoco la siguiente declaración
System.out.println(b.toString());
No habrá error de tiempo de compilación pero habrá un error de tiempo de ejecución. ¿Cuál es la razón de esto y qué valor se almacenará realmente en 'b' para representar un valor nulo?