介面是一種「引用資料」型別
介面是完全抽象的
介面怎麼定義:【修飾符列表】 inte***ce 介面名{}
介面支援多繼承
介面中只有常量+抽象方法
介面中所有的元素都是public修飾的
介面中抽象方法的public abstract可以省略
介面中常量的public static final可以省略
介面中方法不能有方法體!!!!!!!!
乙個非抽象的類,實現介面的時候,必須將介面中所有的方法加以實現
乙個類可以實現多個介面
extends和implement可以共存,extends在前,implements在後
使用介面,寫**的時候,可以使用多型(父型別引用指向子型別物件)
介面在開發的作用類似於動態
多型:面向抽象程式設計,不要面向具體程式設計。降低程式的耦合度。提高程式的擴充套件力。
public
class
master
public
void
feed
(cat d)
}//假設又要養其他的寵物,那麼這和時候需要再加1個方法。
//這樣擴充套件力太差了,違背了ocp原則。(對擴充套件開放,對修改關閉。)
建議這樣寫:
public
class
master
}
》
介面在開發中的作用?
介面是不是完全的? 是
而我們以後正好要求,面向抽象程式設計。
面向抽象程式設計這句話以後可以修改為:面向介面程式設計。
有了介面就有了可插拔。可插拔表示擴充套件力很強,不是焊死的。
主機板和記憶體條之間有插槽,這個插槽就是介面,記憶體條壞了,可以重新買乙個換下來,這叫做高擴充套件性。
介面在現實世界中是不是到處都有呢?
usb介面
螺栓和螺母之間有介面
燈泡和燈口之間有介面
膝上型電腦和鍵盤之間有介面
介面有什麼用?擴充套件性好,可插拔。
介面是乙個抽象的概念。
分析:中午去飯館吃飯,這個過程有介面嗎?
選單是乙個介面。(選單上有乙個抽象的**:西紅柿超級大,顧客面向選單點菜,呼叫介面。)
誰面向介面呼叫。(顧客面向選單點菜,呼叫介面。)
誰負責實現這個介面。(後台的廚師負責把西紅柿雞蛋做好,是介面的實現者。)
這個介面有什麼用?
這個飯館的」選單「, 讓顧客和後廚解開耦合了。
顧客不用找後廚,後廚不用找顧客。他們之間完全依靠這個抽象的選單溝通。
介面和抽象類
介面和抽象類 今天自學了一下介面,從第一次接觸介面又進一步理解介面的原理。想到介面或許我們更多的是想到和類的對比,而類中抽象類和介面又更為相似。現在我講下我對介面和抽象類的理解。如果單從具體 來看,對這兩個概念很容易模糊,甚至覺得介面就是多餘的,因為單從具體功能來看,除多重繼承外 c 抽象類似乎完全...
抽象類和介面
抽象類 1.是一種特殊的類,除了不能被例項化外,具有類得其他特性.2.抽象類的方法可以不宣告為abstract,此時可以實現方法提 如果宣告為abstract,則不可以實現方法體,只能宣告,如 public abstract int remove int i,int j 此時類必須宣告為抽象 3.乙...
抽象類和介面
1.抽象類 含有abstract修飾符的類即為抽象類。可用於實現 重用。抽象類與普通類的唯一區別 不能建立例項物件 允許有抽象方法,但不必須是抽象的。抽象類中定義的抽象方法必須在具體子類中實現,所以不能有抽象構造方法或抽象靜態方法 如果沒有全部實現抽象父類的抽象方法,子類也要定義為抽象型別。2.介面...