Можно создать дубликат:
Abstract class and Interface class?Когда мне нужно использовать абстрактный класс и интерфейс в Java?
Когда мне нужно использовать абстрактный класс и интерфейс в Java?
Мои сомнения
- Какая ситуация мне нужно использовать абстрактный класс и какой ситуации мне нужно использовать интерфейс. Интерфейс
- удовлетворяет абстрактным свойствам класса. так почему же нам нужен особенно абстрактный класс?
- Я знаю, что абстрактный класс содержит абстрактные методы и не абстрактные методы, но мы можем использовать абстрактный класс как обычный класс, тогда результат будет таким же в обоих классах. обычный класс также унаследовал то же, что и абстрактный класс. Итак, зачем нам нужен абстрактный класс.
Если кто-нибудь знает хороший пример, ответьте мне.
Спасибо.
Также настоятельно рекомендуем ответ на этот вопрос: http://stackoverflow.com/questions/56867/interface-vs-base-class –
Рассмотрите возможность использования абстрактных классов, если любой из этих утверждений относится к вашей ситуации: - Вы хотите поделиться кодом между несколькими близкородственными классами. - Вы ожидаете, что классы, которые расширяют ваш абстрактный класс, имеют много общих методов или полей или требуют модификаторов доступа, кроме публичных (таких как защищенные и закрытые). - Вы хотите объявить нестатические или нефинальные поля. Это позволяет вам определять методы, которые могут получить доступ и изменить состояние объекта, к которому они принадлежат. – sarath