1、接口概念:接口可以理解為一種特殊的類,由全局常量和公共的抽象方法所組成。
類是一種具體實現體,而接口定義了某一批類所需要遵守的規范,接口不關心這些類的內部數據,也不關心這些類里方法的實現細節,它只規定這些類里必須提供某些方法。
2、接口定義:和類定義不同,定義接口不再使用class關鍵字,而是使用interface關鍵字。
基本語法:
[修飾符]interface 接口名 [extends 父接口1,父接口2...]
{
零個到多個常量定義...
零個到多個抽象方法的定義...
}
接口就是用來被繼承、被實現的,修飾符一般建議用public
注意:不能使用private和protected修飾接口
接口可以繼承多個父接口,類不可以
常量:接口中的屬性是常量,即使定義時不添加public static final修飾符,系統也會自動加上。
方法:接口中的方法只能是抽象方法,總是使用,即使定義時不添加public abstract修飾符,系統也會自動加上。
3、使用接口:一個類可以實現一個或多個接口,實現接口使用implements關鍵字。java中一個類只能繼承一個父類,是不夠靈活的,通過實現多個接口可以做補充。
繼承父類實現接口的語法為:
[修飾符] class 類名 extends 父類 implements 接口 1,接口2...{
類體部分//如果繼承了抽象類,需要實現繼承的抽象方法;要實現接口中的抽象方法。
}
如果要繼承父類,繼承父類必須在實現接口之前
使用接口:接口在使用過程中,還經常與匿名內部類配合使用
匿名內部類就是沒有名字的內部類
多用於關注實現而不關注實現類的名稱
語法格式:
Interface i = new Interface(){
Public void method(){
System.out.println(“匿名內部類實現接口的方式”)
}
};
異常
語法:
Try{
}catch{
}catch{
}finally{
}
java中的異常拋出
throw:將產生的異常拋出(動作)
Throws:聲明將要拋出何種類型的異常(聲明)
Public void 方法名(參數列表)
Throws 異常列表{
//調用會拋出異常的方法或者:
Throw new Exception();}
自定義異常
class自定義異常 extends 異常類型{}
Exception是異常類,自定義異常要繼承於Exception類或者子類
實際應用中的經驗與總結
1、處理運行時異常時,采用邏輯去合理規避同時輔助try-catch處理
2、在多重catch塊后面,可以加一個catch(Exception)來處理可能會被遺漏的異常
3、對於不確定的代碼,也可以加上try-catch,處理潛在的異常
4、盡量去處理異常,切忌只是簡單的調用printStackTrace()去打印輸出
5、具體如何處理異常,要根據不同的業務需求和異常類型來決定
6、盡量添加finally語句塊去釋放占用的資源