Java的標準,規範-介面-interface
一.介面的定義
如果一個類只是由抽象方法和全局常量組成的,那麼在這種情況下不會將其定義為一個抽象類
定義為介面,嚴格來講,介面就是一個特殊的抽象類,而且這個類裡面只有抽象方法和全局常量。
要定義一口使用interface關鍵字完成
範例:
interface A{
public static final String MSG = "Hello"; //全局變數
public abstract void run(); //抽象方法
}
由於介面裡面存在抽象方法,所以介面對象不可能直接使用new關鍵字進行實例化對象
1.介面必須有子類,但是一個字累可以實現(implements)多個介面
2.介面的子類(如果不是抽象類),必須重寫所有的抽象方法
3.介面的對象可以利用子類對象向上轉型進行實例化操作
在定義介面上A,B沒有任何聯繫,但是如果具有相同子類X
範例:
B b = (B)a;
a instanceOf A ==>true
a instanceOf B ==>true
代碼編寫時先繼承抽象父類,再實現介面(習慣問題,沒有嚴格的要求)
public class A extends B implements C,D{ }
對介面來說,裡面的抽象方法和全局變數有事不用使用 public abstract或public static final進行修飾
在介面的方法中沒有寫public進行修飾,但絕對不是default修飾,而是public修飾。所以建議添上public,
為防止初學者混淆
一個抽象類只能繼承一個抽象類,但是一個介面可以使用extends關鍵字繼承多個介面,但是介面不能繼承抽象類
這是該介面具有包括父類及自己的所有抽象方法
在整個Java裡面,介面的主要功能室解決單繼承的問題
雖然從介面的介面上來講,只能由全局常量和抽象方法組成,但是所有的內部結構是不受這些限制的,也就是說在
介面裡面可以定義普通的內部類,抽象內部類,內部介面
如果使用static關鍵字定義內部介面,表示外部
二. 介面在實際開發中的3大核心作用
1.表示不同層之間的操作標準
所有的代碼要進行開發,則首先要開發介面標準,因為有了標準才能開始設計應用程序
好代碼標準:
1).客戶端調用簡單,不需要關注具體細節
2).客戶端之外的代碼修改,不影響用戶的使用,及:用戶不用關心代碼是否變更
2.表示一種操作的能力
3.表示將伺服器的遠程方法視圖暴露給客戶端
三.介面的應用
1.工廠設計模式 Factory
2.代理設計模式 Proxy
核心精髓在於有一個核心主題操作介面(多種)
核心業務主體只完成核心業務代碼
※想學java還不知道 這些怎麼行?
※Java操作Excel表格的 一種方法Java教程
※深入理解Java虛擬機
※Java學習 哪個更快:Java堆還是本地內存
TAG:java學習吧 |
※Google Chrome和Mozilla Firefox將支持全新無密碼登錄規範
※每日資訊Google Chrome和Mozilla Firefox將支持全新無密碼登錄規範……
※Python 編碼規範(Google)
※分散式消息規範 OpenMessaging 1.0.0-preview 發布
※USB 4規範發布,基於Intel Thunderbolt 3技術
※USB Promoter Group正式公布USB 4 規範:40Gbps,兼容雷電3
※985MB/s!microSD Express規範發布:TF卡速堪比SSD
※microSD Express卡規範公布 速度可達985MB/s
※Photoshop中網頁的設計規範
※microSD Express規範發布,峰值速度可達985MB/s
※讓我們重新思考現有的性別規範-Blindness18AW
※蘋果 CEO:Facebook 應該規範自己的行為
※Khronos推出OpenXR 0.90暫定規範,一統XR軟硬體標準
※Nature揭延長壽命關鍵、中檢院發布CAR-T「規範」……|BioWeek一周事
※Google HTML/CSS 規範
※買不起新iPhone,學得起iPhone設計規範啊!
※規範槓桿位置的bulldog握姿
※前端每周清單:Slack Webpack構建優化,CSS 命名規範與用戶追蹤
※Python最簡編碼規範
※支持下一代PC VR連接標準,首批VirtualLink規範顯卡正式發布,2018年Q4季度上市