Я понимаю, почему циклическое наследование классов не допускается на Java, но я не понял, почему циклическое наследование интерфейсов не допускается. Чтобы проиллюстрировать:Cyclic Inheritance of Interfaces
interface Foo extends Bar {/*methods and constants*/}
interface Bar extends Foo {/*methods and constants*/}
Интерфейсы не нуждаются в создании экземпляра, а затем, что мешает им расширять друг друга?
Кстати, я прочитал этот вопрос, но это не об интерфейсах, но классы: Cyclic inheritance hierarchy in Java
Спасибо заранее.
Какой может быть хороший способ разрешить это? – Tunaki
... Не могли бы вы просто объединить их полностью или иметь общую базу, если хотите? – EpicPandaForce
Там могут быть очень редкие случаи, когда каждый интерфейс соответствует правилу «is-a», таким образом, может расширять друг друга. Это не так. Почему это не разрешено? Имеет ли это опасность для программ? Не потому, что я буду использовать его наверняка, а потому, что может быть что-то, чему я буду учиться на этом. – Haggra