1. 程式人生 > >黑馬程式設計師----java中static,final,abstract的用法和區別

黑馬程式設計師----java中static,final,abstract的用法和區別

    ---------------------- android培訓java培訓、期待與您交流! ----------------------

        一, 首先,static

       1.static可以用來修飾成員變數和成員方法和程式碼塊    

static 修飾的成員表示它屬於這個類共有,而不是屬於該類的單個例項。

static 修飾的欄位 == 類欄位

static 修飾的方法 == 類方法

沒使用static修飾的成員和方法,成員屬於類的單個例項,不屬於類。

沒有static 修飾的欄位 == 例項欄位

沒有static 修飾的方法 == 例項方法

類和例項訪問欄位和方法的語法:

訪問類成員: 類.欄位     .方法

訪問例項成員: 例項.欄位      例項.方法

         2.static使用注意事項:

靜態方法只能訪問靜態成員

但是非靜態成員可以訪問靜態成員;

靜態方法中不可以使用thissuper關鍵字

     3.static的特點:

隨著類的載入而載入

優先於物件存在

被所有物件所共享

可以直接被類名呼叫

     二,對於final

    1.注意事項:

① final可以修飾類,方法,變數。

② final修飾類不可以被繼承,但是可以繼承其他類。  

③ final修飾的方法不可以被覆寫,但可以覆寫父類方法。

④ final修飾的變數稱為常量,這些變數只能賦值一次。

⑤ 內部類在區域性時,只可以訪問被final修飾的區域性變數。 

⑥ final修飾的引用型別變數,表示該變數的引用不能變,而不是該變數的值不能變;

     三,對於abstract

     1.abstract可以用來修飾類和方法

當一個類被abstract修飾時,這個類就是一個抽象類,抽象類中可以有抽象方法,也可以有具體實現方法,抽象類中儲存的是子類中的共性方法,子類必須重寫抽象類中所有的抽象方法,才能被使用,否則,該子類也是一個抽象類。

當一個方法被abstract修飾時,這個方法必須被子類重寫才能使用。

    2.abstract不能和static共同存在

abstract必須被覆蓋重寫才能使用,而static不能被覆蓋

    3.abstract不能和final共同存在

abstract必須被子類繼承,final修飾的類不能被繼承,為終結類。