Metodo abstract retornando null

1 resposta
C

Pessoal, encontrei um tópico parecido com o que minha dúvida requer, mas não foi a solução para meu caso.
Criei a classe Pessoa com Id e sobrescrevendo para PessoaFisica e PJ, mas no momento do teste, o cpf e o cnpj retornam null

Classe principal

package Abstracao;
//Classe abstrata
public abstract class Pessoa {

	private String nome;
	private String id;
	
	
	public Pessoa (String nome, String id){
		this.nome = nome;
		this.id = id;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

 //getter and setter abstrato para utilizar nas outras classes.

	public abstract String getId();

	public void setId(String id) {
		this.id = id;
	}
	
		
}
//extendendo a classe Pessoa em PessoaFisica
public class PessoaFisica extends Pessoa {

	private String cpf;
	
	public PessoaFisica(String nome, String cpf){
		super(nome,cpf);
	}
	
       //sobescrevendo o método  	
	@Override
	public String getId() {
		// TODO Auto-generated method stub
		return cpf;
	
	}
	
	@Override 
        public void setCpf(String cpf) {
		this.cpf = cpf;
	
	}

	
	
}

Na classe PessoaJuridica eu utilizo o mesmo procedimento, sendo que com cnpj, então acreditei ser desnecessário para inserir aqui.
Abaixo a classe de teste

package Abstracao;


public class Metodo {

	public static void main(String[] args){
		
	
		Pessoa p1 = new PessoaFisica("joao", "1235423");
		Pessoa p2 = new PessoaJuridica("jose", "4324231");
		
		
		System.out.println("Cpf: " +p1.getId());
		System.out.println("Nome: " +p1.getNome());
		
		System.out.println("Cpf: " +p2.getId());
		System.out.println("Nome: " +p2.getNome());
		
		
	}
	
}

Obrigado pessoal

1 Resposta

C

Pessoal, desculpem pelo double post. Mas descobri que meu erro foi apenas não declarar o atributo no construtor das subclasses

public PessoaFisica(String nome, String cpf){ super(nome,cpf); //faltou ter iniciado a atribuição this.cpf = cpf; }

Criado 27 de abril de 2011
Ultima resposta 27 de abr. de 2011
Respostas 1
Participantes 1