關於接口和異常的總結
接口
為什麽要使用接口?
Java語言只支持單重繼承,不支持多繼承,即一個類只能有一個父類。但是在實際應用中,又經常使用多繼承來解決問題。為了解決該問題,Java語言提供了接口來實現類的多重繼承功能。
定義:
//接口的聲明。修飾符寫不寫都為public。接口名逗號隔開
[修飾符] interface接口名[extends 父接口名列表]{
//接口體
[public] [static] [final] 變量;
//三個修飾符均可省略
[public][abstract] 方法;
//所有方法只有定義,沒有實現(抽象方法)。默認public權限
}
接口的實現:
//可選值為public, abstract, final
[修飾符] class <類名> [extends 父類名] [implements 接口列表] {
}
註:在類中實現接口時,方法名、返回值類型、參數的個數及類型必須與接口中的完全一致,並且必須實現接口中的所有方法。
接口繼承接口:
//註意使用extends
Interface3 extends Interface0, Interface1, interface……
接口繼承與類繼承對比:
Java類的繼承是單一繼承,Java接口的繼承是多重繼承。
接口與繼承對比:
1.抽象類沒有屬性限制,接口只能有靜態常量。
2.抽象類單一繼承,接口可以多重繼承。
3.抽象類中可以有非抽象方法。接口中則不能有實現方法。
4.抽象類可以有具體方法,接口沒有。
5.抽象類可以有構造方法,接口沒有。
異常
異常與錯誤的比較:
Error和Exception都是Throwable類的子類。
Error及其子類,用於指示合理的應用程序不應該試圖捕獲的嚴重問題。
Exception及其子類,給出了合理的應用程序需要捕獲的異常。
分類:
運行期異常和編譯器異常
基本語法:
//檢測不安全的代碼塊
try{
可能會發生異常的代碼
//把抓到的類型匹配的異常捕獲,保證程序能繼續運行下去
}catch(異常類型 引用名){
異常處理代碼
//只能有一個finally語句,總會執行
}finally{
必須執行代碼
}
異常處理順序:
在try中沒有異常的情況下,try、catch、finally的執行順序:
try --- finally
如果try中有異常,執行順序:
try --- catch --- finally
如果try中沒有異常並且try中有return: //return總是最後執行
try ---- finally --- return
如果try中有異常並且try中有return:
try----catch---finally--- return
如果try有異常,相應catch中有return:
try---catch---finally---return
關於接口和異常的總結