Segue as duas maneiras para criação de um cliente: 1) Cliente paulo = new Cliente(); contaDoPaulo.titular = paulo;
2) contaDoPaulo.titular = new Cliente();
Pergunto: Porque na segunda opção não é preciso informar o tipo Cliente.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Segue as duas maneiras para criação de um cliente: 1) Cliente paulo = new Cliente(); contaDoPaulo.titular = paulo;
2) contaDoPaulo.titular = new Cliente();
Pergunto: Porque na segunda opção não é preciso informar o tipo Cliente.
Olá Alisson, tudo bem com você?
No segundo caso, não é preciso informar pois o tipo do titular da Conta (nesse caso, contaDoPaulo) já foi definido dentro da própria classe Conta:
public class Conta {
double saldo;
int agencia;
int numero;
Cliente titular;
// codigo omitido
}
Em outras palavras, o Java sabe que contaDoPaulo.titular deve receber algo do tipo Cliente de acordo com o que declaramos dentro da classe Conta. Então quando o Java lê o contaDoPaulo.titular, ele vai até a classe Conta para consultar qual é o tipo que o titular deve receber. Diferente do primeiro caso onde tivemos que deixar explicito que o tipo da variável paulo seria Cliente já que, caso contrário, o Java não teria como descobrir seu tipo:
Cliente paulo = new Cliente();
Não sei se consegui ser claro na explicação, mas se tiver ficou alguma dúvida é só avisar! ;)
Forte abraço e bons estudos!!