黑馬程式設計師----java中static,final,abstract的用法和區別
---------------------- android培訓、java培訓、期待與您交流! ----------------------
一, 首先,static
1.static可以用來修飾成員變數和成員方法和程式碼塊
用static 修飾的成員表示它屬於這個類共有,而不是屬於該類的單個例項。
static 修飾的欄位 == 類欄位
static 修飾的方法 == 類方法
沒使用static修飾的成員和方法,成員屬於類的單個例項,不屬於類。
沒有static 修飾的欄位 == 例項欄位
沒有static 修飾的方法 == 例項方法
類和例項訪問欄位和方法的語法:
訪問類成員: 類.欄位 類.方法
訪問例項成員: 例項.欄位 例項.方法
2.static使用注意事項:
靜態方法只能訪問靜態成員
但是非靜態成員可以訪問靜態成員;
靜態方法中不可以使用this,super關鍵字
3.static的特點:
隨著類的載入而載入
優先於物件存在
被所有物件所共享
可以直接被類名呼叫
二,對於final1.注意事項:
① final可以修飾類,方法,變數。
② final修飾類不可以被繼承,但是可以繼承其他類。
③ final修飾的方法不可以被覆寫,但可以覆寫父類方法。
④ final修飾的變數稱為常量,這些變數只能賦值一次。
⑤ 內部類在區域性時,只可以訪問被final修飾的區域性變數。
⑥ final修飾的引用型別變數,表示該變數的引用不能變,而不是該變數的值不能變;
三,對於abstract1.abstract可以用來修飾類和方法
當一個類被abstract修飾時,這個類就是一個抽象類,抽象類中可以有抽象方法,也可以有具體實現方法,抽象類中儲存的是子類中的共性方法,子類必須重寫抽象類中所有的抽象方法,才能被使用,否則,該子類也是一個抽象類。
當一個方法被abstract修飾時,這個方法必須被子類重寫才能使用。
2.abstract不能和static共同存在
abstract必須被覆蓋重寫才能使用,而static不能被覆蓋
3.abstract不能和final共同存在
abstract必須被子類繼承,final修飾的類不能被繼承,為終結類。