介面及其語法

2021-09-26 22:44:40 字數 1349 閱讀 7668

介面:簡單理解可以認為是乙份合同,契約

出現的目的:體現封裝性

分離契約和實現

區分開甲方(提要求)和乙方(幹活)

介面的語法:

inte***ce 介面名稱

要點:1.介面的定義允許多繼承

2.介面無法去例項化物件

3.介面中給出的方法列表預設

1)public 訪問限定修飾符

2)無法使用static修飾(有特例)

3)是乙個抽象方法,直接用分號結尾,不用給出方法體

介面定義的時候可以多繼承,實現的時候可以多實現

介面中不能出現屬性,可以出現預設都是被final static修飾

final關鍵字:

修飾三個位置:

1)修飾變數,不可變變數,只有一次賦值的機會

final int a=10;

a=100; //觸發編譯錯誤

final int a=new int[10];

a) a=new int[100]; //final只保證a的指向不能改變

b) a[0]=100; //a[0]的值可以改變

final person p=new person();

a) p=null; //觸發編譯錯誤

b) p.name=「hello」;

2) final可以修飾類,表示這個類不能被繼承,其內部的方法都不能被覆寫

final class a

3)被final修飾的類內部所有的方法都會自動被final修飾

final可修飾方法,代表這個方法無法被其子類覆寫

class a

}abstract關鍵字

1> 修飾類,表示這個類無法被例項化

abstract class a{} 抽象類

new a(); //編譯錯誤

2> 修飾方法,該方法稱為抽象方法,只有方法簽名,沒有方法實現

abstract void method();

在inte***ce中的方法預設前面都帶乙個abstract,都是抽象方法。

注意:如果乙個類中有抽象方法,則這個類就不能被例項化,故這個類也是乙個抽象類。

如果乙個類是抽象類,可以沒有抽象方法。

對比final: final類中的都是final方法(無法被覆寫)

有final方法的不一定是final類

抽象方法一旦被實現了一次,就不再是抽象方法。

多型(繼承和多型都取自於生物學的術語):

1.父型別的引用可以指向子型別的物件(向上轉型)

2.編譯期間可以呼叫的方法列表,以引用型別為準

3.執行期間,真正執行的普通方法,以實際執行的物件型別為準

4.執行期間,真正執行的靜態方法以引用型別為準

Map介面及其子類

map介面操作的是一對物件,即二元偶物件,map介面中的每個元素都使用 key value 的形式儲存在集合中.sortedmap介面是排序介面,只要是實現了此介面的子類,都屬於排序的子類.treemap就是此介面的乙個子類 hashmap 無序存放,新的操作類,key不允許重複 hahtable ...

CSS基本語法及其操作

樣式表允許以多種方式規定樣式資訊。樣式可以規定在單個的 html 元素中,在 html 頁的頭元素中,或在乙個外部的 css 檔案中。甚至可以在同乙個 html 文件內部引用多個外部樣式表。一般而言,所有的樣式會根據下面的規則層疊於乙個新的虛擬樣式表中,其中數字 4 擁有最高的優先權。瀏覽器預設設定...

C Task await 及其它語法糖

private async taskwaitint task同步器 task.whenall public async void test taskt2 task.run await task.whenall t1,t2 console.writeline t1.result t2.result 使...