Imprimir um objeto de uma classe no vetor

3 respostas
M
import java.util.Scanner;

public class executaVenda{
	 public static void main(String args[]){
	 	int opcao=0;
	 	int tipo_cliente=0;
	 	ClientePF cpfi[] = new ClientePF[3];
	    ClientePJ cpju[] = new ClientePJ[3];
	    Utilitario util = new Utilitario();
	 	Scanner entrada = new Scanner(System.in);
	 	int i=0;
	 	
	 while(i<3){
	     System.out.println("\n\n");
	     System.out.println("Cadastro do cliente "+(i+1));		
    	 cpfi[i] = new ClientePF(util.entradaString("Nome: "),util.entradaString("CEP: "),util.entradaString("Cidade: "),util.entradaString("Estado: "),util.entradaString("CPF: "),0);
	     i++;	
	 }
	 System.out.println("Informe o codigo do cliente: ");
	 i=entrada.nextInt();
	 System.out.println(cpfi[i]);
	 }
}

3 Respostas

tinorberto

Quando vc faz isso System.out.println(cpfi[i]); vc esta chamando o método toString da classe ClientePF, vai imprimir o nome da classe @ e um código da tabela hash.

Vc pode fazer o seguinte:

  1. fazer um método que imprime o seu objeto e chamar ele System.out.println(cpfi[i].imprime());

  2. sobrescrever o método toString de ClientePF para imprimir seus campos.

Flw

Corrigindo… como o julianofischer, devemos sobrescrever o método to string, não sobrecarregar como eu disse.

julianofischer

O correto é a sobrescrita do método toString, ou seja, reescrever o método.
Lembrando que na sobrescrita o novo método deve possuir a mesma assinatura (retorno, nome do método, tipo e qtdd de parâmetros) do antigo método!

tinorberto

Para finalizar…temos as seguintes regras para sobrescrever um método:

  1. lista de argumentos deve ser a mesma

  2. retorno deve ser o mesmo

3)nivel de acesso não pode ser mais restrito, mas pode ser menos

4)pode lançar qualquer exceção não verificada

5)não pode ser final nem static

Exemplos

//se eu tenho o método 
public void eat(){}

//inválidos

private void eat(){}

public void eat()throw IoException{}

public void eat(int x){}

public int eat(){}

Bem gente e isso…flw

Criado 25 de novembro de 2009
Ultima resposta 26 de nov. de 2009
Respostas 3
Participantes 3