06 全面分析final關鍵字

2021-09-26 09:43:45 字數 964 閱讀 5331

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

class

yyfinal

class

fuextends

yy//可以繼承yy類

class

ziextends

fu//不能繼承fu類

final修飾的方法不可以被覆蓋(即重寫),但父類中沒有被final修飾方法,子類覆蓋後可以加final。

class

fupublic

void

method2()

}class

ziextends

fu}

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

final

int i =20;

i =30

;//賦值報錯,final修飾的變數只能賦值一次

引用型別的變數值為物件位址值,位址值不能更改,但是位址內的物件屬性值可以修改。

final person p =

newperson()

;person p2 =

newperson()

;p = p2;

//final修飾的變數p,所記錄的位址值不能改變

p.name =

"小明"

;//可以更改p物件中name屬性值

修飾成員變數,需要在建立物件前賦值,否則報錯。(當沒有顯式賦值時,多個構造方法的均需要為其賦值。)

class

demo

static關鍵字 final 關鍵字

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

static關鍵字 final關鍵字

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

static 關鍵字 final關鍵字

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