介面及其優點,介面與繼承,介面間的關係

2021-10-08 00:13:32 字數 975 閱讀 7158

1.介面中的所有方法都是抽象方法,而抽象類中的方法不一定全是抽象的

2.介面和類的關係是實現

介面的優點

1.乙個類可以實現多個介面,而類與類之間是單一繼承,打破了繼承的侷限性

2.對外提供規則(即只有方法定義,沒有實現)

3.降低了程式的耦合性(可以實現模組化開發,定義好規則,每個人實現自己的模組,提高了開發的效率)

為什麼繼承是單繼承,而介面可以多實現

因為如果要繼承的兩個類中有同名方法,但方法實現不同,難以分清楚要繼承的是哪個方法;但是對於介面來說,都只是給出方法定義,即使有同名方法,只要實現一次就可以。

介面與介面之間的關係

是繼承(可多繼承)而非實現。因為如果是實現的話,介面中都是抽象方法,沒辦法實現它所想要實現的那個介面中的抽象方法。另外,如果介面b繼承了介面a,那麼類c在實現介面b時,既要實現b中的方法,也要實現a中的方法。

介面和抽象類的關係

1.共性:不斷的抽取,抽取出抽象的概念

2.區別

(1)與類的關係

類與介面是實現關係,而且是多實現,乙個類可以實現多個介面

類與抽象類是繼承關係:單一繼承,乙個類只能有乙個父類,但可以多層繼承(舉例:a繼承b,c繼承a)

(2)成員

成員變數:

抽象類可有成員變數,也可以有常量

介面只能有常量(因為他無法給成員賦值,只能一開始就初始化)

成員方法:

抽象類可有抽象方法,也可有非抽象方法

介面只能有抽象方法,而且方法有預設修飾符public abstract

構造方法:

抽象類有構造方法

介面沒有構造方法

介面與繼承

1.介面 設計乙個 者介面 healer 該介面宣告有方法 heal 設計乙個support類,代表輔助英雄,繼承hero類,同時實現了healer這個介面 package pack1 繼承hero 同時 實現healer public class support extends hero impl...

Java介面繼承介面

直接先上 package practice public inte ce a package practice public inte ce b extends a package practice public class c implements b override public void g...

Go 介面,介面繼承

demo.go 介面繼承 package main import fmt 父介面 type humen inte ce 子介面 type person inte ce 學生類 type student struct 學生類的方法 讓學生類符合父介面的規則 func stu student sayhe...