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