Bom, comecei a aprender agora sobre arrayList e to com uma duvida: utilizando ArrayList, eu posso adicionar um outro elemento utilizando ArrayList.add, ta beleza. mas sempre antes de adicionar um elemento eu preciso dar um new() e informar todos os atributos? segue meu codigo de exemplo:
public class Cliente {
String nome;
String cpf;
Endereco endereco;
Data dataDeCadastro;
public void imprimeCliente() {
System.out.println("Nome: " + nome);
System.out.println("CPF: " + cpf);
System.out.println("Endereco: " + endereco.imprimeEndereco());
System.out.println("Data de cadastro: " + dataDeCadastro.imprimeData());
System.out.println("");
}
}
package cadastroCliente;
public class Endereco {
String rua;
int numero;
String bairro;
String cidade;
String estado;
public String imprimeEndereco() {
return this.rua + ", " + this.numero + "\n" + this.bairro + "\n" + this.cidade + " - " + this.estado;
}
}
package cadastroCliente;
public class Data {
int dia;
int mes;
int ano;
public void formataData(int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
public String imprimeData() {
return dia + "/" + mes + "/" + ano;
}
}
package cadastroCliente;
import java.util.ArrayList;
public class TesteCliente {
public static void main(String[] args) {
Cliente cliente1 = new Cliente();
cliente1.nome = "Joao da Silva";
cliente1.cpf = "125.475.859-63";
cliente1.endereco = new Endereco();
cliente1.endereco.rua = "Jorge Lobato";
cliente1.endereco.numero = 745;
cliente1.endereco.bairro = "Vila Tiberio";
cliente1.endereco.cidade = "Ribeirao Preto";
cliente1.endereco.estado = "SP";
cliente1.dataDeCadastro = new Data();
cliente1.dataDeCadastro.formataData(22, 03, 2016);
ArrayList<Cliente> clientes = new ArrayList<>();
clientes.add(cliente1);
cliente1.imprimeCliente();
}
}