天天看點

java中static,final,abstract的用法和差別

        一, 首先,static

       1.static可以用來修飾成員變量和成員方法和代碼塊    

用static 修飾的成員表示它屬于這個類共有,而不是屬于該類的單個執行個體。

static 修飾的字段 == 類字段

static 修飾的方法 == 類方法

沒使用static修飾的成員和方法,成員屬于類的單個執行個體,不屬于類。

沒有static 修飾的字段 == 執行個體字段

沒有static 修飾的方法 == 執行個體方法

類和執行個體通路字段和方法的文法:

通路類成員: 類.字段      類.方法

通路執行個體成員: 執行個體.字段      執行個體.方法

         2.static使用注意事項:

靜态方法隻能通路靜态成員

但是非靜态成員可以通路靜态成員;

靜态方法中不可以使用this,super關鍵字

     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修飾的類不能被繼承,為終結類。