標籤:static關鍵字 final關鍵字 abstract關鍵字 單態設計模式
1. 關鍵字 static
- 用於修飾類的成員 (屬性/方法/內部類)
- 若存取權限允許的情況下,static 修飾的成員可以通過 類名. 的方法來訪問,即在建立對象的情況下進行訪問,也可以通過 對象. 的方式來訪問
- static 修飾的成員稱為類成員,為類的多有的執行個體所共用
- 在 static 方法內部只能訪問類的 static 屬性,不能訪問類的非 static 屬性;反之非 static 方法可以訪問 static 成員
- 因為不需要執行個體就可以訪問 static 方法,因此 static 方法 內部不能有 this 和 super
- 靜態初始化: static 修飾代碼塊,當類被載入時執行,且只被執行一次 (作用: 作為對靜態屬性進行初始化)
2. 單態設計模式: 就是採取一定的方法保證在整個的軟體系統中, 對某個類只能存在一個對象執行個體
- 在類的外部不能通過 new 構造器的方式建立執行個體,因此要把構造器隱藏起來,即構造器私人化
private Single(){}
- 因為在類的外部不能建立類的執行個體,只能在類的內部建立
Single instance = new Single();
- 為了讓類的外部直接使用該執行個體,使用 static 修飾
static Single instance = new Single();
- 不能在類的外部可以修改該屬性,只能私人化該屬性,同事提供公有的 get 方法使用
private static Single instance = new Single();
public static Single getInstance(){
return instance;
}
3. final 關鍵字: 可以修飾類,屬性和方法
- 必須在生命是初始化,或在非靜態代碼塊中初始化,亦或是在構造器中初始化
- final 修飾的屬性為常量,屬性值不能被修改
- final 修飾的方法,不能被修改不能被重寫
- final 修飾的類,不能被拓展,不能被繼承
4. abstract 關鍵字,用於修飾類和方法
- 修飾的方法沒有方法體,只有方法的聲明 (抽象方法)
- 修飾的類 (抽象類別) 不能被執行個體化
- 有抽象方法的類一定是抽象類別,反之不然
- 不能修飾 私人方法/構造方法/靜態方法
Java_Day04 Java基礎