В чем разница между абстрактными классами и интерфейсами в Java?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 В чем разница между абстрактными классами и интерфейсами в Java?

Сообщение Anonymous »

Я пытаюсь понять ключевые различия между абстрактными классами и интерфейсами в Java, особенно в контексте объектно-ориентированного проектирования. Вот что я знаю на данный момент:
Абстрактные классы:
  • Могут иметь как абстрактные, так и конкретные методы.
    Может иметь переменные-члены.
  • Может быть расширен только одним подклассом (Java не поддерживает множественное наследование).
    < li>Подкласс может наследовать реализацию абстрактных методов абстрактного класса.
Интерфейсы:
  • Не может иметь конкретных методов (до Java 8, когда были введены методы по умолчанию).< /li>
    Не может иметь переменные-члены, только константы (хотя в Java 8 также представлены статические методы).
  • Может быть реализован несколькими классами (поддерживает множественное наследование поведения). ).
  • Класс может реализовывать несколько интерфейсов.
Однако мне непонятно следующее:
  • Когда мне следует использовать одно вместо другого?
  • Каковы конкретные последствия для производительности или дизайна при выборе между абстрактным классом и интерфейсом?
  • Может ли абстрактный класс реализовать интерфейс или это ненужно?
  • Каковы основные варианты использования каждого из них?
  • Может ли кто-нибудь, пожалуйста, разъясните различия и когда использовать каждый из них в реальных сценариях?


Подробнее здесь: https://stackoverflow.com/questions/792 ... es-in-java
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Композиция с делегированием и абстрактными классами и методами
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Композиция с делегированием и абстрактными классами и методами
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Полиморфная десериализация Джексона с несколькими абстрактными классами
    Anonymous » » в форуме JAVA
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Полиморфная десериализация Джексона с несколькими абстрактными классами
    Anonymous » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Полиморфная десериализация Джексона с несколькими абстрактными классами
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»