Heranca

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;
}

Vc não pode herdar o método main por ele ser static, dai então nem poderia instanciar ele.

public class Pessoa {
    String nome;
    String endereco;
    int telefone;

    public void exibirDados() {
        Scanner n = new Scanner(System.in);
        System.out.println("nome");
        nome = n.nextLine();

        System.out.println("endereco");
        endereco = n.nextLine();

        System.out.println("telefone");
        telefone = n.nextInt();

        System.out.println("resultado" + nome + " , " + endereco + " , " + telefone);
    }

    public static void main(String[] args) {
        new PessoaFisica().exibirDados();
    }
}

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.

Abraços.

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.

T+

Claro.

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.

Abraçoss!!