Абстрактный класс — это класс, который нельзя создать напрямую (инстанцировать). Он может содержать абстрактные и неабстрактные методы, поля, конструкторы. Используется для определения общих характеристик и поведения для подклассов.
Абстрактный метод — это метод без реализации (тела). Объявляется с ключевым словом abstract
в абстрактном классе или интерфейсе. Подклассы абстрактного класса или класс, реализующий интерфейс, обязаны предоставить реализацию для всех абстрактных методов.
Разница между абстрактным методом и интерфейсом:
Характеристика | Абстрактный метод | Интерфейс |
---|---|---|
Место объявления | Абстрактный класс, Интерфейс | Интерфейс |
Требование к реализации | Подкласс абстрактного класса, класс, реализующий интерфейс | Класс, реализующий интерфейс |
Наличие тела | Нет | Нет (до Java 8 - только объявление, с Java 8 - default и static методы с телом) |
Наличие модификаторов доступа | Public, protected, default (в абстрактном классе); public (в интерфейсе) | Public |
Интерфейс — это полностью абстрактный "ко
Абстрактный класс — это класс, который нельзя создать напрямую (инстанцировать). Он может содержать абстрактные и неабстрактные методы, поля, конструкторы. Используется для определения общих характеристик и поведения для подклассов.
Абстрактный метод — это метод без реализации (тела). Объявляется с ключевым словом abstract
в абстрактном классе или интерфейсе. Подклассы абстрактного класса или класс, реализующий интерфейс, обязаны предоставить реализацию для всех абстрактных методов.
Разница между абстрактным методом и интерфейсом:
Характеристика | Абстрактный метод | Интерфейс |
---|---|---|
Место объявления | Абстрактный класс, Интерфейс | Интерфейс |
Требование к реализации | Подкласс абстрактного класса, класс, реализующий интерфейс | Класс, реализующий интерфейс |
Наличие тела | Нет | Нет (до Java 8 - только объявление, с Java 8 - default и static методы с телом) |
Наличие модификаторов доступа | Public, protected, default (в абстрактном классе); public (в интерфейсе) | Public |
Интерфейс — это полностью абстрактный "ко
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.