Metodo herdado retornando valor null

2 respostas
rafa.spimenta

Eu fiz duas classes sendo que em uma eu armazeno o nome de um vendedor e na outra eu exibo o nome deste vendedor.
Para exibir o nome do vendedor eu fiz extends na classe que armazena seu nome, e quando eu chamo o metodo que me retorna o nome do vendedor o console me da um valor null.

Segue as classes

Classe armazena nome do vendedor.

import java.util.Scanner;


public class classVendedor
{
	private String vendedorLoja;
			
	Scanner input = new Scanner(System.in);
	
	public void setVendedorLoja(String vendedor1)
	{
		vendedorLoja = vendedor1;
	}
	
	public String getVendedor()
	{
		return vendedorLoja;
	}
	
	public void vendedor()
	{
		System.out.print("Por favor informe o nome do vendedor: ");
		String theVendedor = input.nextLine();
		setVendedorLoja(theVendedor);
		System.out.printf("\nObrigado %s, você está logado no sistema.\n\n", getVendedor());
	}

}
classe cliente
import java.util.Scanner;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class classCliente extends classVendedor 
{
	private String[] cliente = new String[4];//variaveis

	Scanner input = new Scanner(System.in);
	
	
	public void setCliente(String cliente1[])//metodo nome cliente
	{
		cliente = cliente1;
	}
	
	public String[] getcliente()
	{
		return cliente;
	}//fim cliente

	public void cadastraDadosCliente()//metodo armazena nome cliente
	{
System.out.print("Informações cadastrais do Cliente.\n");
		System.out.printf("%s, por favor digite o nome do cliente: ", getVendedor());
}
}
classe main
public class classPrincipal
{

	public static void main(String args[])
	{  
		System.out.print("Auto-Soft \n2008 Minas Hacker's Informática \nVersão 1.0 \nTodos os direitos reservados \nUso exclusivo da COELHO'S VEÍCULOS LTDA \n\nBem-Vindo!\n\n");
		classVendedor metVendedor = new classVendedor();
       	metVendedor.vendedor();
       	
      	classCliente metClienteGeral = new classCliente();
      	metClienteGeral.chamaCadastroCliente();
      	
	}       	
}

2 Respostas

leocomelli

Cara,

Na classe "classPrincipal" você esta trabalhando com instâncias diferentes, por este motivo esta imprimindo null. Faça essa alteração.

public class classPrincipal {
	     public static void main(String args[])  
	     {    
	         System.out.print("Auto-Soft \n2008 Minas Hacker's Informática \nVersão 1.0 \nTodos os direitos reservados \nUso exclusivo da COELHO'S VEÍCULOS LTDA \n\nBem-Vindo!\n\n");  
	         //classVendedor metVendedor = new classVendedor();  
	         //metVendedor.vendedor();  
	           
	         classCliente metClienteGeral = new classCliente();  
	         metClienteGeral.vendedor();
	         metClienteGeral.cadastraDadosCliente();  
	           
	     } 
}

Irá funcionar, mas você não esta utilizando a herença de maneira correta. Herança é um assunto muito discutido aqui no forum faça uma busca e leia mais sobre esse assunto.

Abraço

thundercas

Cara, outra coisa… Não faz o menor sentido a classe Cliente herdar a classe Vendedor. Acho que você está se confundindo camarada…

Criado 6 de abril de 2008
Ultima resposta 6 de abr. de 2008
Respostas 2
Participantes 3