У меня есть следующие две объектные переменные
Date a;
Date b=null;
Определенно и «a», и «b» не относятся ни к каким объектам.
Теперь, если я призываю следующее утверждение
System.out.println(a.toString());
Там будет ошибка времени компиляции, тогда как, если я вызову следующее утверждение
System.out.println(b.toString());
Не будет ошибки времени компиляции, но будет ошибка времени выполнения. В чем причина этого, и какое значение будет фактически сохранено в 'b', чтобы представить нулевое значение?