Да, будут созданы два разных объекта.
Вы можете проверить это, посмотрев также результаты hashCode()
.
Первый раз, когда создается obj
, b
, a
и e
указывают на этот объект.
Во второй раз, когда новый объект создается с помощью e = new Object()
, e
теперь указывает на этот объект, тогда как b
и a
все еще указывают на старый объект.