Sobes.tech
Back to questions
Junior — Middle
50

Можно ли инстанцировать класс, содержащий только абстрактные методы?

Answer from AI

sobes.tech AI

В Java нельзя создать экземпляр (инстанцировать) класса, если он содержит только абстрактные методы и объявлен как абстрактный класс. Абстрактный класс — это класс, который может содержать абстрактные методы (без реализации), и его нельзя инстанцировать напрямую. Для использования такого класса нужно создать подкласс, который реализует все абстрактные методы, и уже этот подкласс можно инстанцировать.

Пример:

abstract class Animal {
    abstract void makeSound();
}

// Нельзя: Animal a = new Animal(); // Ошибка компиляции

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

Dog dog = new Dog(); // Можно