Estou fazendo uma lista da loiane.training e estou com uma dúvida.
Tenho uma classe mae Contribuinte, 2 filhas PessoaFisica e PessoaJuridica, e uma 4 classe de teste onde estou criando 3 cadastro de cada e imprimindo o nome e o imposto pago, dai por isso criei um vetor da classe mae de 6 posicoes , mas apenas 1 de pj e pf, e fui setando e guardando dentro do vetor … masna hora de imprimir ele imprime apenas a última posição de cada.
public class Teste {
public static void main (String[] args){
System.out.println("Testando");
Contribuinte [] pessoas = new Contribuinte[6];
PessoaFisica pf = new PessoaFisica();
pf.setNome("Jose");
pf.setRenda(1500);
pf.definirAliquota(pf.getRenda());
pf.setImposto((pf.getAliquota()*pf.getRenda()));
pessoas[0] = pf;
pf.setNome("Maria");
pf.setRenda(2500);
pf.definirAliquota(pf.getRenda());
System.out.println(pf.getAliquota());
pf.setImposto((pf.getAliquota()*pf.getRenda()));
pessoas[1] = pf;
System.out.println("Nome:"+ pessoas[1].getNome() + "\n" + "Imposto:"+ pessoas[1].getImposto() + "\n\n");
pf.setNome("Joaquim");
pf.setRenda(3500);
pf.definirAliquota(pf.getRenda());
pf.setImposto((pf.getAliquota()*pf.getRenda()));
pessoas[2] = pf;
PessoaJuridica pj = new PessoaJuridica();
pj.setNome("Jose SA");
pj.setRenda(1500);
pj.setImposto((pj.getAliquota()*pj.getRenda()));
pessoas[3] = pj;
pj.setNome("Maria SA");
pj.setRenda(2500);
pj.setImposto((pj.getAliquota()*pj.getRenda()));
pessoas[4] = pj;
pj.setNome("Joaquim SA");
pj.setRenda(5500);
pj.setImposto((pj.getAliquota()*pj.getRenda()));
pessoas[5] = pj;
System.out.println(pessoas.length);
for(int i=0; i<pessoas.length;i++){
System.out.println(i);
System.out.println("Nome:"+ pessoas[i].getNome() + "\n" + "Imposto:"+ pessoas[i].getImposto() + "\n\n");
}
/*System.out.println("Nome:"+ pessoas[0].getNome() + "\n" + "Imposto:"+ pessoas[0].getImposto() + "\n\n");
System.out.println("Nome:"+ pessoas[1].getNome() + "\n" + "Imposto:"+ pessoas[1].getImposto() + "\n\n");
System.out.println("Nome:"+ pessoas[2].getNome() + "\n" + "Imposto:"+ pessoas[2].getImposto() + "\n\n");
*/}
}