Sobes.tech
Back to questions
Junior — Middle
88

Описание концепции абстрактного класса в языке Java и его основное назначение

Companies where asked
Digital Zone

Answer from AI

sobes.tech AI

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

Основное назначение абстрактного класса — определить общий интерфейс и поведение для группы связанных классов, при этом позволяя подклассам реализовать специфическую логику.

Пример:

abstract class Animal {
    abstract void makeSound(); // абстрактный метод

    void sleep() {
        System.out.println("Спит");
    }
}

class Dog extends Animal {
    @Override
    void makeSound() {
        System.out.println("Гав-гав");
    }
}

// Нельзя создать объект Animal напрямую:
// Animal a = new Animal(); // Ошибка

Dog dog = new Dog();
dog.makeSound(); // Выведет: Гав-гав
dog.sleep(); // Выведет: Спит