Зачем использовать интерфейсы, множественное наследование и интерфейсы, преимущества интерфейсов?

У меня все еще есть некоторая путаница по этому поводу. До сих пор я обнаружил

(Подобные вопросы уже задавались здесь, но у меня были некоторые другие моменты.)

  1. Интерфейс представляет собой набор ТОЛЬКО абстрактных методов и конечных полей.

  2. В Java нет множественного наследования.

  3. Интерфейсы могут использоваться для достижения множественного наследования в Java.

  4. Сильной стороной наследования является то, что мы можем использовать код базового класса в производном классе, не записывая его снова. Может быть, это самое главное для наследования.

Сейчас ..

Q1. Поскольку интерфейсы имеют только абстрактные методы (без кода), как мы можем сказать, что если мы реализуем какой-либо интерфейс, то это наследование? Мы не используем его код.

Q2. Если реализация интерфейса не является наследованием, тогда как интерфейсы используются для достижения множественного наследования?

Q3. Как бы то ни было, в чем преимущество использования интерфейсов? У них нет кода.Нам нужно снова и снова писать код во всех классах, которые мы его реализуем.

Тогда зачем делать интерфейсы?

ПРИМЕЧАНИЕ: Я нашел один случай, когда интерфейсы полезны. Одним из примеров этого является то, что в интерфейсе Runnable у нас есть общедоступный метод void run (), в котором мы определяем функциональность потока, и есть встроенная кодировка, согласно которой этот метод будет запускаться как отдельный поток. Итак, нам просто нужно закодировать, что делать в потоке, Rest предопределен. Но этого также можно достичь с помощью абстрактных классов и прочего.

Тогда каковы точные преимущества использования интерфейсов? Неужели с помощью интерфейсов мы действительно достигаем множественного наследования?

63
задан Ravindra babu 26 September 2016 в 15:51
поделиться