static與final關鍵字

2021-08-21 22:35:18 字數 692 閱讀 6951

一、static關鍵字

1、static關鍵字只能用於修飾成員變數和成員方法。

2、static修飾變數,稱為靜態變數或類變數,其記憶體只分配一次

3、static修飾方法,直接通過類呼叫該方法

注意事項:

1)靜態方法只能訪問靜態的成員變數,不能訪問非靜態的成員變數。 為什麼?因為靜態成員先於物件存在,比物件先建立。當靜態成員存在時,物件還沒有建立。他們的生命週期不一樣。但是非靜態的可以訪問靜態的。

2)靜態方法中不可用this/super關鍵字。為什麼:this指向呼叫本方法的物件的引用(物件還沒有建立呢)

由static修飾的成員變數、成員方法和類同時進行載入到記憶體,所以優先於物件存在。

二、final關鍵字

1、final關鍵字可用於修飾類、成員變數和成員方法。

2、final修飾變數,如果是基本資料型別的變數,則其數值一旦在初始化之後便不能更改;如果是引用型別的變數,則在對其初始化之後便不能再讓其指向另乙個物件。

3、final修飾方法,使用final修飾的方法不能被子類重寫。(最終方法)

4、final修飾類,該類不能被繼承,但是可以繼承其它類。

注意: 當final作用於類的成員變數時,成員變數(注意是類的成員變數,區域性變數只需要保證在使用之前被初始化賦值即可)必須在定義時或者構造器中進行初始化賦值,而且final變數一旦被初始化賦值之後,就不能再被賦值了。

static關鍵字 final 關鍵字

特點 隨著類的載入而載入,也就是說靜態會隨著類的消失而消失,說明他的生命週期最長 靜態變數 static 關鍵字修飾成員變數,使用 類名.變數名 的形式來訪問,也可以使用 例項物件.變數名 的形式來訪問。靜態方法 static 關鍵字修飾成員函式,靜態方法可以使用 類名.方法名 的形式來訪問,也可以...

static關鍵字 final關鍵字

static關鍵字 靜態的 1,特點 可以修飾成員變數,成員方法 隨著類的載入而載入,優先於物件載入 只載入一次,就會一直存在,不再開闢新空間 全域性唯一,全域性共享 可以直接被類名呼叫 靜態只能呼叫靜態,非靜態可以隨意呼叫 總結 1,被static修飾後的特點 全域性共享 可以被類名直接呼叫 載入...

static 關鍵字 final關鍵字

一旦用了static 關鍵字,就不在屬於物件自己 而是屬於類。這個類裡的物件,都共享乙份。沒有static關鍵字那麼首先建立物件然後在通過物件才能使用它。靜態不能直接訪問非靜態 原因 在記憶體中是現有的靜態內容 後 有的非靜態內容 靜態方法中不能用this 原因this代表當前物件,通過誰呼叫的方法...