Que Pessoa devo deixar no caixa?

Bom dia galera, estou desenvolvendo um pequeno controle de caixa…

Tenho duas classes chamadas PessoaFisica e PessoaJuridica que herdam de Pessoa(Abstract)…

Tenho outra classe chamada Caixa, onde devo referenciar um tipo de pessoa, mas somente um tipo para cada Objeto…

Como devo referenciar uma Pessoa na classe Caixa sabendo que esta pode ser PessoaFisica ou PessoaJuridica e somente pode ser chamada uma vez para cada Objeto?

Se alguém puder me ajudar, agradeço…

pela teoria de OO você deveria deixar Pessoa, já que Fisica e Juridica herdam dela.

E vc pode dar aquela viajada básica com generics:

Pessoa {
  String nome;
}

class PessoaFisica extends Pessoa {
  String cpf;
}

class PessoaJuridica extends Pessoa {
  String cnpj;
}

class Caixa<P extends Pessoa> {
  P pessoa;
}

public static void main(String[] args) {
  Caixa<PessoaJuridica> c1 = new Caixa<PessoaJuridica>();
  c1.pessoa.cnpj = "1";
  Caixa<PessoaFisica> c2 = new Caixa<PessoaFisica>();
  c2.pessoa.cpf = "2";
}

ps: o código esta incompleto, vai dar nullpointer se vc rodar assim…

:razz:

valeu pela ajuda gurizada…

grande abraço do balen…

O que falta no código para não dar erro luBS ??

Já resolvi … valeu

Era só pq pessoa de Caixa era nulo logo ia dar nullpointer, tinha colocado só o básico do básico de código hehehhehe