java中的static和final關鍵字

牛頓愛吃水果發表於2020-11-08

static關鍵字(可以被繼承不能被重寫)

關於 static 關鍵字的使用,它可以用來修飾的成員變數和成員方法,被修飾的成員是屬於類的,而不是單單是屬於某個物件的。也就是說,既然屬於類,就可以不靠建立物件來呼叫了。

類變數
當 static 修飾成員變數時,該變數稱為類變數。該類的每個物件都共享同一個類變數的值。任何物件都可以更改該類變數的值,但也可以在不建立該類的物件的情況下對類變數進行操作。
類變數:使用 static關鍵字修飾的成員變數。
static 資料型別 變數名; 比如:static int numberID;

靜態方法
當static 修飾成員方法時,該方法稱為類方法 。靜態方法在宣告中有static ,建議使用類名來呼叫,而不需要建立類的物件。呼叫方式非常簡單。
類方法:使用 static關鍵字修飾的成員方法,習慣稱為靜態方法。

靜態方法呼叫的注意事項:
(1)靜態方法可以直接訪問類變數和靜態方法。
(2)靜態方法不能直接訪問普通成員變數或成員方法。反之,成員方法可以直接訪問類變數或靜態方法。
(3)靜態方法中,不能使用this關鍵字。

final關鍵字

子類可以在父類的基礎上改寫父類內容,比如,方法重寫。那麼我們能不能隨意的繼承API中提供的類,改寫其內容呢?顯然這是不合適的。為了避免這種隨意改寫的情況,Java提供了final 關鍵字,用於修飾不可改變內容。

final: 不可改變。可以用於修飾類、方法和變數。
類:被修飾的類,不能被繼承。
方法:被修飾的方法,不能被重寫。
變數:被修飾的變數,不能被重新賦值。

相關文章