Встречается на собеседованиях • сегодня
В чем разница между работой с абстрактными классами в разных версиях Java
В Java абстрактные классы существуют с самой первой версии и их концепция остаётся неизменной. Однако в более новых версиях появились дополнительные возможности:
- Java 8+: абстрактные классы могут содержать default-методы интерфейсов (если класс реализует интерфейс) и статические методы.
java
abstract class Animal {
abstract void makeSound();
// Default method from interface
default void sleep() {
System.out.println("Zzz");
}
// Static method
static boolean isAnimal(Object obj) {
return obj instanceof Animal;
}
}-
Java 9+: private методы в абстрактных классах (для внутренней логики).
-
Java 15+: sealed классы (ограничение наследования), которые могут быть абстрактными.
Ключевые отличия от интерфейсов:
- Абстрактные классы могут иметь состояние (поля)
- Конструкторы (но нельзя создать экземпляр)
- Могут содержать реализованные методы
- Одиночное наследование (в отличие от множественной реализации интерфейсов)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы