English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Como chamar um método não estático de uma classe abstrata a partir de um método estático no Java?

Métodos sem sujeito são chamados de métodos abstratos. Eles contêm apenas um caractere de dois pontos com hífen e uma vírgula no inícioabstratoAssinatura do método da palavra-chave

public abstract myMethod();

Para usar o método abstrato, você precisa herdar sua classe e fornecer uma implementação para ela.

Classe abstrata

Classe que contém 0 ou mais métodos abstratos é chamada de classe abstrata. Se contiver pelo menos um método abstrato, deve ser declarado como abstract.

Portanto, para evitar a instância direta da classe, pode ser declarada de forma abstrata.

Acessar método não estático da classe abstrata

Como não é possível instanciar uma classe abstrata, também não é possível acessar seus métodos de instância. Você pode apenas chamar métodos estáticos da classe abstrata (porque não é necessário instância).

Exemplo

abstract class Example{
   static void sample() {
      System.out.println("método estático da classe abstrata");
   }
   public void demo() {
      System.out.println("Método da classe abstrata");
   }
}
public class NonStaticExample{
   public static void main(String args[]) {
      Example.sample();
   }
}

Resultados de saída

método estático da classe abstrata

Exemplo

A única maneira de acessar um método não estático de uma classe abstrata é estendê-la, implementar o método abstrato (se houver) e usar o objeto da subclasse para chamar o método necessário.

abstract class Example{
   public void demo() {
      System.out.println("Método da classe abstrata");
   }
}
public class NonStaticExample extends Example{
   public static void main(String args[]) {
      new NonStaticExample().demo();
   }
}

Resultados de saída

Método da classe abstrata
Você também pode gostar