我明白了爲什麼類的循環繼承Java不允許,但我不明白爲什麼的接口循環繼承是不允許的。舉例說明:循環繼承接口
interface Foo extends Bar {/*methods and constants*/}
interface Bar extends Foo {/*methods and constants*/}
接口不需要實例化,那麼是什麼阻止它們互相擴展?
順便說一句,我讀了這個問題,但是這不是接口,但類:提前 Cyclic inheritance hierarchy in Java
感謝。
這樣做有什麼好處呢? – Tunaki
...難道你不能把它們完全合併在一起,或者如果你想要的話有一個共同的基礎? – EpicPandaForce
可能會有非常罕見的情況,其中每個接口都適合「is-a」規則,因此可以相互擴展。事實並非如此。爲什麼這是不允許的?這對編程有沒有危險?不是因爲我會肯定地使用它,而是因爲我可能會從中學到一些東西。 – Haggra