Встречается на собеседованиях • сегодня
В чем разница между абстрактными методами в абстрактном классе и интерфейсе
Абстрактные методы в абстрактном классе:
- Могут иметь модификаторы доступа (public, protected)
- Могут быть объявлены только в абстрактных классах
- Класс-наследник должен реализовать все абстрактные методы
- Могут содержать реализацию других методов (неабстрактных)
Абстрактные методы в интерфейсе (начиная с Java 8):
- По умолчанию public abstract (нельзя изменить)
- Интерфейс может содержать методы с реализацией (default, static)
- Класс, реализующий интерфейс, должен реализовать все абстрактные методы (кроме default)
Пример:
java
abstract class Animal {
abstract void makeSound(); // абстрактный метод
void eat() { System.out.println("Eating..."); } // обычный метод
}
interface SoundMaker {
void makeSound(); // абстрактный метод
default void stopSound() { System.out.println("Sound stopped"); } // default метод
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы