package bytebank2;
public class TesteComposicaoObjetos {
public static void main(String[] args) {
Conta bradesco = new Conta();
bradesco.agencia=123;
bradesco.numero=987896;
bradesco.saldo=500.0;
//bradesco.titular = new Cliente();
bradesco.titular.cpf="012345678";
bradesco.titular.nome="Ricardo Menezes";
bradesco.titular.profissao="Analista de sistema";
System.out.println("Cliente: " + bradesco.titular.nome);
System.out.println("Cpf: " + bradesco.titular.cpf);
System.out.println("Ag.: " + bradesco.agencia);
System.out.println("Conta: " + bradesco.numero);
System.out.println("Possui disponível: " + bradesco.saldo);
}
}
Tenho um cenário: 1 classe Cliente, 1 classe Conta e 1 classe TesteComposicaoObjetos A classe Cliente possui apenas atributos do cliente; A classe Conta possui atributos da conta e a referência não instanciada do objeto Cliente. A classe TesteComposicaoObjetos possui o void main. Dúvida: Se eu já coloco na classe Conta a referência instanciada do objeto Cliente, exemplo: public class Conta {
double saldo;
int agencia;
int numero;
Cliente titular = new Cliente();
}
Neste exemplo, toda vez que instancia a classe Conta, estarei também instanciando a classe Cliente, ou seja, na linha "Conta bradesco = new Conta();" estarei referenciando 2 espaços de memoria (Objetos), certo? Caso certo, pensando em encomia de espaço em memória, não seria interessante na maioria dos casos deixar a inicialização da instancia do objeto para o desenvolvedor que irá desenvolver o void main, exemplo: Deixar a classe de conta apenas com a referência para o objeto tipo Cliente: public class Conta {
double saldo;
int agencia;
int numero;
Cliente titular;
}