Sobes.tech
Junior — Middle

É possível instanciar uma classe que contém apenas métodos abstratos?

sobes.tech IA

Resposta da IA

Em Java, não é possível criar uma instância (instanciar) de uma classe se ela contiver apenas métodos abstratos e for declarada como uma classe abstrata. Uma classe abstrata é uma classe que pode conter métodos abstratos (sem implementação), e não pode ser instanciada diretamente. Para usar tal classe, é necessário criar uma subclasse que implemente todos os métodos abstratos, e essa subclasse pode então ser instanciada.

Exemplo:

abstract class Animal {
    abstract void makeSound();
}

// Não é possível: Animal a = new Animal(); // Erro de compilação

class Dog extends Animal {
    void makeSound() {
        System.out.println("Woof");
    }
}

Dog dog = new Dog(); // Pode