Tenho 3 classes, pessoa, pessoFisica, pessoaJuridica, os atributos sao diferentes, mas o metodo é igual.
Como seria para herdar somente o metodo, e dentro do metodo eu posso fazer uma leitura pelo teclado?
a minha tentativa:
public class Pessoa
{
public static void main (String[] args)
{
String nome;
String endereco;
int telefone;
public void exibirDados()
{
Scanner n = new Scanner(System.in);
System.out.println("nome");
nome = n.nextString();
System.out.println("endereco");
endereco = n.nextString()
System.out.println("telefone");
telefone = n.nextInt();
System.out.println("resultado" + nome + " , " + endereco + " , " + telefone );
}
}
public class PessoaFisica extends Pessoa
{
public long cpf;
public int estadoCivil;
}
public class PessoaJuridica extends Pessoa
{
public long cnpj;
public String razaoSocial;
public String nomeRepresentante;
}
crie uma classe abstrata e inclua o metodo que você quer que as sub-classes herdem.
dai vc pode fazer com que pessoa herde desta classe e as outras classes herdem de pessoa.
crie uma outra classe para vc rodar o método main, uma classe teste por exemplo.
Lembrando que quando você declara um método como abstrato faz com que qualquer filho seja obrigatório a implementar o método.
Para o seu caso, você terá o mesmo método mas com atributos distintos, por isso, a ideia de uma classe abstrata com um respectivo método abstrato é uma boa alternativa.
Obrigado nel pelo complemento, mas o método não precisa ser necessariamente abstrato.
se o método for abstrato, não há implementação do metodo na classe abstrata.
Caso a implementação do metodo seja igual para as classes filha, este poderá ser implementado na classe abstrata, sem o modificado abstract, tirando a obrigatoriedade da implementação deste metodo pelas sub-classes.
Nenhuma classe abstrata precisa possuir métodos abstratos, entretanto, todo e qualquer método abstrato precisa pertencer a uma classe abstrata (Interface, por default, são métodos abstratos e publicos). Só quis ressaltar se ele resolver definir como abstrato, qualquer sub-classe tem a obrigatoriedade de implementação. Como se trata de Pessoa, PF e PJ, seria interessante.