介面:簡單理解可以認為是乙份合同,契約
出現的目的:體現封裝性
分離契約和實現
區分開甲方(提要求)和乙方(幹活)
介面的語法:
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 使...