在學習的過程中,我發現了如題的這個有趣的問題。
單繼承不必解釋,一個類只能有一個直接父類;但是對於接口的實現,一個類卻能夠實現多個接口。
為什么是這種情況呢?我們來舉個簡單的栗子看一下:
class A{
public void print(){
System.out.println("AAAAAA");
}
}
class B{
public void print(){
System.out.println("BBBBBB");
}
}
class C extends A ,B{
}
new C().print();
這個栗子是不是一目了然呢?
在創建了C對象后,如果調用print函數,我們並不知道具體是調用哪個函數,所以這是不允許的。
而對於接口來說,這種情況就不存在了。
即便兩個接口中存在相同的抽象函數。但在實現時,我們只能在當前類中實現一個這樣的函數,所以不論是實現的哪個,另外一個同名的也就無所謂了。於是,java就是多實現的了。
感謝您的閱讀,歡迎指正博客中存在的問題,也可以跟我聯系,一起進步,一起交流!
微信公眾號:進擊的程序狗
郵箱:roobtyan@outlook.com
個人博客:https://roobtyan.github.io