Короткий и точный ответ, который отвечает на все ваши вопросы формально из JLS:
3.10.7. Null Literal
blockquote>Тип null имеет одно значение, нулевую ссылку, представленную нулевым литералом null, который формируется из символов ASCII.
Нулевой литерал всегда имеет нулевой тип.
blockquote>Выдается только ссылка типа, которая назначена нулевому значению. Вы не присваиваете ссылку на значение (объект). Такое распределение специфично для JVM, сколько ссылок потребуется и в какой области памяти будет выделено.