Sobes.tech
Middle

É possível criar um objeto de uma classe abstrata em Java?

sobes.tech IA

Resposta da IA

No Java, não é possível criar um objeto de uma classe abstrata diretamente, pois a classe abstrata destina-se a servir de base para outras classes e pode conter métodos abstratos sem implementação. No entanto, é possível criar um objeto de uma classe anônima que herda da classe abstrata, implementando todos os métodos abstratos no local.

Exemplo:

abstract class Animal {
    abstract void sound();
}

public class Main {
    public static void main(String[] args) {
        Animal a = new Animal() {
            void sound() {
                System.out.println("Meow");
            }
        };
        a.sound(); // Vai imprimir "Meow"
    }
}

Dessa forma, o objeto não é criado diretamente de uma classe abstrata, mas de uma classe anônima que a herda e implementa todos os métodos abstratos.