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