Назад к вопросам
Северсталь-Ифоком
Junior — Middle
66
Чем отличается абстрактный класс от обычного и как его можно применять в программировании?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Абстрактный класс в Java — это класс, который не может быть инстанцирован напрямую и может содержать как реализованные методы, так и абстрактные (без реализации).
Отличия от обычного класса:
- Абстрактный класс может содержать абстрактные методы, которые должны быть реализованы в подклассах.
- Нельзя создать объект абстрактного класса напрямую.
- Может содержать поля и методы с реализацией.
Применение:
- Используется для определения общего интерфейса и базового поведения для группы связанных классов.
- Позволяет вынести общую логику в абстрактный класс, а специфическую — реализовать в наследниках.
Пример:
abstract class Animal {
abstract void makeSound(); // абстрактный метод
void breathe() {
System.out.println("Дышит");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Гав-гав");
}
}
// Использование
Animal dog = new Dog();
dog.breathe(); // Дышит
dog.makeSound(); // Гав-гав
Таким образом, абстрактные классы помогают организовать код и обеспечить полиморфизм.