JAVA基礎(第4天 接口與實現)

接口與實現

接口(接口聲明和接口體)
使用關鍵字interface來定義
接口聲明:interface 接口的名字
接口體:
 1. 可以沒有任何內容(變量和方法)
 
 2. 可以有變量,但是這些變量必須是**常量**,默認被public static final 修飾,即接口裏不可以有私有成員。
 3. 可以有方法,但是這些方法都是抽象方法,默認被public abstract 修飾

 4. 接口中只有常量(沒有變量)和抽象方法(沒有普通方法) 	
 5. 常量都是靜態常量(static6. 接口不能被實例化的 	
 7. 抽象方法只有聲明,不允許有方法體
 8. 接口沒有構造函數,方法可以拋出異常
 
 9. 可以定義一個接口引用,但是必須執行其實現接口的子類對象
 
 10. 接口可以繼承其他的接口(這裏指單繼承),通過extends來實現
 11. 接口可以實現類的多繼承,通過implements來實現。
 
 12. 接口可以有類實現,但是這個普通類必須實現該接口的所有方法。如果這個類不實現該接口的所有方法,它必須是抽象類。
 
 13. 一個java源文件由類和接口組成
 
 

> 接口的訪問權限修飾符

  1.public修飾的接口可以被任何一個類實現
  2.如果一個接口不加任何修飾,就稱作友好接口,友好接口可以被與該接口在同一包中的類實現	

> 接口回調

ImpleCom是實現接口的類
ImpleCom object = new ImpleCom();
使用接口回調之後,object不僅可以調用ImpleCom中的方法,還可以調用接口中的方法。
但是當接口變量 com = object;com就可以調動被類實現的接口方法,這個過程才叫接口回調。

> 理解接口

接口變量中只能存放實現該接口的雷達的實例的引用。
內部類與異常類

> 斷言

斷言語句的語法格式:
	assert booleanExpression;
	assert booleanExpression:messageException;
	啓用與關閉斷言語句
	java -ea mainClass

JDK8新特性(默認方法和靜態方法)
在jdk8之前,interface之中可以定義變量和方法,變量必須是public、static、final的,方法必須是public、abstract的。由於這些修飾符都是默認的,所以在JDK8之前,下面的寫法都是等價的。
在這裏插入圖片描述
JDK8及以後,允許我們在接口中定義static方法和default方法。
在這裏插入圖片描述
再定義一個接口的實現類:
在這裏插入圖片描述

  • 靜態方法,只能通過接口名調用,不可以通過實現類的類名或者實現類的對象調用。
  • default方法,只能通過接口實現類的對象來調用。
    在這裏插入圖片描述

內部類


Java類有兩種重要的成員:成員變量和方法,實際上java還允許有一種成員:內部類

## **內部類:**

	1.內部類的外嵌類的成員變量在內部類中仍然有效,內部類中的方法也可以調用外部類中的方法。
	2.內部類的類體中不可以聲明成員變量和方法。外嵌類的類體中可以用內部類聲明對象,作爲外嵌類的成員。	

## **匿名類 **

> 和子類有關的匿名類

	匿名類可以繼承父類的方法也可以重寫父類的方法
	使用匿名類時,必然是在某個類中直接用匿名類創建對象,因此匿名類一定是內部類。
	匿名類可以訪問外嵌類中的成員變量和方法,匿名類的類體中不可以聲明static成員變	量和static成員方法。
	由於匿名類是一個子類,但沒有類名,所以在匿名類創建對象時,要直接使用父類的構	造方法。
	Bank是一個類
	new Bank() {
			匿名類的類體
		};

> 和接口有關的匿名類

	Computable是一個接口
	new Computable() {
			實現接口的匿名類的類體
		};

異常類

異常對象可以調用如下方法得到或輸出有關異常的信息
public String getMessage();
public void printStackTrace();
public String toString();
Try-catch語句

知識積累

程序執行退出代碼:System.exit(0);
Throw 和 Throws兩個關鍵字
一個方法在生明時可以使用throws關鍵字聲明要產生的若干個異常,即throws聲明異常類型,
並在該方法的方法體中具體給出產生異常的操作,即用相應的異常類創建對象。
而使用throw關鍵字拋出該異常對象。
程序必須在try-catch塊語句中調用可能發生異常的方法,其中catch的作用就是捕獲throw關鍵字拋出的異常對象。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章