Просто небольшое замешательство. Java не допускает множественного наследования. Тогда как интерфейс может расширять несколько интерфейсов? Можем ли мы назвать это наследование?Множественное наследование интерфейсов
ответ
Интерфейс, расширяющий несколько интерфейсов, не является множественным наследованием. Поскольку вы не наследуете никаких функций.
public interface A {
public void doSomething();
}
public interface B {
public void doSomething();
}
public interface C extends A, B {
}
абсолютно нормально, так как вы в конечном итоге с помощью единого интерфейса с (эффективно) одним способом:
public interface C extends A, B {
public void doSomething();
}
Спасибо, но предположим, что интерфейс A и B содержит два разных метода (например, m1 и m2). Так как C расширяет оба интерфейса, он также будет иметь как m1, так и m2. Следовательно, хотя C не расширяет какую-либо функциональность, он все же приобретает поведение A и B. Тогда как это оправдано. – Leo
@Leo: Это оправдано, потому что это не вызывает традиционные проблемы, связанные с множественным наследованием. Вы расширяете контракт для интерфейса, не наследуя поведение от класса. – StuPointerException
- 1. Множественное наследование для интерфейсов
- 2. Множественное наследование интерфейсов
- 3. Множественное наследование или несколько интерфейсов
- 4. Множественное наследование интерфейсов в C++
- 5. C++ Множественное Наследование от интерфейсов и литья
- 6. Множественное наследование от интерфейсов (абстрактные классы)
- 7. Как имитировать множественное наследование без интерфейсов?
- 8. Почему множественное наследование интерфейсов намного менее сложно, чем множественное наследование из набора классов?
- 9. Как имитировать множественное наследование
- 10. Множественное наследование в java
- 11. множественное наследование
- 12. Множественное наследование
- 13. Как интерфейсы моделируют множественное наследование?
- 14. Множественное наследование не поддерживается в dotnet. Но поддерживает несколько интерфейсов?
- 15. Зачем использовать интерфейсы, множественное наследование и интерфейсы, преимущества интерфейсов?
- 16. , моделируя множественное наследование в C#
- 17. Множественное наследование в скрипте #
- 18. C++ множественное наследование/виртуальное наследование
- 19. Множественное наследование: Java vs C++
- 20. BaseGameActivity и множественное наследование
- 21. Java допускает множественное наследование
- 22. Множественное наследование ER Модель
- 23. Имитировать множественное наследование
- 24. Множественное наследование в Java?
- 25. Множественное наследование в PHP
- 26. Множественное наследование классов исключений
- 27. C++ - множественное наследование
- 28. Джанго множественное наследование E005
- 29. Классы C++. Множественное наследование
- 30. Множественное наследование класса шаблона
Хм ... может быть с Java 8, где вы можете предоставить стандартные методы для интерфейсов. Поскольку класс может реализовывать более одного интерфейса, мы имеем что-то вроде множественного наследования. – sk2212
Реализация нескольких интерфейсов - ** полиморфизм ** не ** наследование **. – Dmytro
@Dmytro Это неверно. Тип наследует всех публичных членов его супертипов. Это включает в себя все определения методов, вложенные типы и «статические» члены класса и типы интерфейсов. –