Oie Kirkpatrick, tudo bem contigo?
Você está mais ou menos correto.
Segue a lógica abaixo:
new Conta();
-> cria um objeto, porém por não possuir referência, ele é inacessívelConta conta = new Conta();
-> cria um objeto, e cria uma variável para guardar a referência desse objeto, é acessível a partir da variávelconta.titular = new Cliente(); ->
-> cria um objeto e já armazena a referência dele dentro do atributo "titular"conta.titular = titular;
-> para isso funcionar, um objeto "Cliente" deve ter sido criado e sua referência deve estar armazenada dentro dessa variável titular , que nesse código, fará com que o atributo "titular" do objeto "conta" também guarde essa a referência.No final pouco "importa" se um deles é mais rápido de ser digitado, o importante é saber qual usar no momento mais adequado.
Espero ter ajudado!
Qualquer coisa estarei por aqui :)