Java中有多繼承嗎?

Java中是不支持多繼承的,但是提供了一些可以實現同樣效果的機制——接口的多實現和接口的多繼承。

1.什麼是接口的多實現?

就是一個類(包括抽象類和普通類)可以同時實現多個接口。

class Test implements Shape,Tool{}//Tool後邊可以通過‘,’的間隔繼續實現其他接
2.什麼是接口的多繼承?

即接口之間可以實現多繼承。

interface Test extends Shape,Tool{}//Tool後邊可以通過‘,’的間隔繼續繼承其他類
3.繼承+接口多實現
class Test extends FutherTest implements Tool,Shape{}

4.爲什麼接口可以實現多繼承而類不可以呢?

      由於接口是一種抽象形式,其中的所有方法只有聲明而沒有方法體,所以當一個類實現多個接口或者一個接口繼承多個接口時即使不同接口都含有同樣的方法(即方法完全相同)也不會因爲這個而不知該實現哪個接口中的方法,因爲所有的方法都是一樣的。

      而類就不同了,因爲每個類中的方法必須有自己的實現,當A類和B類中同時出現方法show(),如果此時C類同時繼承了A類和B類,那麼到底該選擇哪個show()方法就是一種歧義,因爲倆個方法的方法體也許是完全不同的邏輯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章