Aí galera, estou entendendo melhor o Bean, e acabei ficando com dúvidas:
Suponhamos que eu faça uma classe AgendaTel, e preciso usar um vetor ou uma collection para armazenar estes dados.
1º) Se a minha classe construtora for vazia, como que o vetor ou a collection vai ‘saber’ quais dados armazenar, ou seja quais registros ele vai ter (exemplo nome, endereco, telefone)???
2º) Eu posso instanciar um objeto do tipo AgendaTel na classe AgendaTel, mas fora do construtor, ou seja em outro método??? :oops:
Não entendi bem sua pergunta, mas todos os atributos de instancia são automaticamente iniados caso você não o faça, porem caso você queira explicitamente inicialos oque e recomendado, você pode faze-lo no construtor da classe mais frequentemente no contrutor sem argumentos. Espero ter ajudado.
Sim, mas minha dúvida não era essa.
É pq eu ‘pensava’ que qdo eu instaciace um objeto com um construtor vazio, ele não teria atributos, eo javapaulomg, já tirou minha dúvida, valeu!
Vou tentar explicar com códigos, mas se tiver algo errado na sintaxe, me perdoa.
Classe Agenda
public class AgendaTel{
//Atributos da class AgendaTel
private int contador = 0;
private String[][] dadosAgenda;
//método construtor
public AgendaTel() {
}
//setter do atributo dadosAgenda[][]
public void setDadosAgenda(String nome, String telefone) {
dadosAgenda[contador][0] = nome;
dadosAgenda[contador][1] = telefone;
contador++;
}
}
Vamos deixar o getter de fora, por enquanto, e usar outra classe para implementar uma agenda.
public class Teste {
public static void main(String[] args) {
//cria uma nova instância da classe AgendaTel que tem o construtor vazio.
AgendaTel minhaAgenda = new AgendaTel();
//Adiciona novas entrada
minhaAgenda.setDadosAgenda(Alano, 32111111);
minhaAgenda.setDadosAgenda(Beltrano, 32111112);
minhaAgenda.setDadosAgenda(Ciclano, 32111113);
minhaAgenda.setDadosAgenda(Deltrano, 32111114);
}
}
Bom, eu fiz esse código aqui mesmo e não testei, não sei se ele vai funcionar da forma como está escrito, e ele ainda responde somente a primeira pergunta.
Quanto a segunda pergunta, não sei responder diretamente, é necessário testar isso.
Atributos são automaticamente declarados. Iniciados até são, porém com zero (para atributos de tipos primitivos) ou null (para atributos que são referências para objetos).