Sun公司覺得C++的抽象類別不好,沒有嚴格的控制他。所以Sun公司就把抽象類別升級為了接口,在Java裡面很少能夠用到抽象類,所有的聲明都是用接口來實現他。
介面(interface) Java裡面只能單一繼承,但是可以實作多個介面。有一句話是萬事萬物皆接口。想要在Java裡面做出非常優秀的程式那麼就必須要有介面 有了介面才可以做到擴充性。
介面的規則:
1.介面裡面的方法全部都是方法的宣告
2.介面裡的屬性是常量的屬性
3.介面與介面之間可以繼承
4.介面不可以和類別產生繼承
5.介面不可以繼承抽象類別
6.介面也不可以實例化物件
7.全部都是public的方法與屬性
如圖8.9所示:
圖8.9
接口之間可以繼承圖8.91所示:317.這個屬性其實是常數,不管你加沒加常量的關鍵字他最終的結果其實都是常數,介面的屬性他都是常數。
介面不可以和類別產生繼承如圖8.92所示:
圖8.92
介面不可以繼承抽象類別 介面的魅力:
l 做程式設計要萬事萬物皆物件
l 做架構和設計那麼就要萬事萬物皆介面面向父類皆物件 介面雖然沒有功能的實現,只有方法的功能,但是他用的地方介面不會影響你程式的功能,但會影響你程式架構和設計。我們要把現實生活中所有的東西都看作為接口,做程式設計的時候把所有的東西都用接口去做,一個系統如果裡面全部都是接口那麼這個系統就非常的牛逼。做系統的時候把所有的功能抽出介面去做,然後寫一個實作類別去實作這個介面。萬事萬物皆介面就是把現實生活中所有的東西都看作為接口去做,那麼你的程式的架構就能做的非常的好非常的強。 Sun公司非常的聰明,例如Java要連接資料庫,那麼就要實現操作資料庫的一些程式碼。派人去連接他的資料庫那麼不行,資料庫是一個產品一定會升級,而且資料庫是資料庫公司的肯定資料庫公司他自己才清楚資料庫的優點在哪裡,這樣Sun公司就很被動。那麼Sun公司就想到了一個辦法,就是把這些連接資料庫的一些功能全部都申請為了接口,然後在召集資料庫公司參加發布會讓資料庫去實現sun公司的接口。這就是介面的魅力所在,Sun公司規定了方案然後給別人去實現。如圖8.94所示: 圖8.94 聲明了接口就一定要面向接口編程,如果聲明了接口但是沒有用他那麼今後就不會知道接口到底有什麼用。