final關鍵字 和 static關鍵字

2022-07-10 01:33:11 字數 1302 閱讀 7359

一.final關鍵字的作用:

1. 使用 final 方法的原因 : 第乙個原因是把方法鎖定,以防任何繼承類修改它的含義;第二個原因是final修飾的方法效率快。

2. final: final用於修飾類、成員變數和成員方法。

final修飾類, 類不能被繼承

final修飾成員方法, 方法不能被重寫,但是子類可以用父類中final修飾的方法;

final修飾區域性變數, 

如果區域性變數是基本資料型別,初始化之後區域性變數的值不能被改變 ,如果成員變數是引用型別,那麼它只能指向初始化時指向的那個物件,不能再指向別的物件,但是物件當中的內容是允許改變的。final修飾區域性變數:區域性變數的變數名需要大寫.

注意事項:final關鍵字不能和abstract關鍵字同時使用,會報錯

對於成員變數來說,使用final關鍵字修飾成員變數,這個成員變數也是不可改變的.

1.由於成員變數有預設值,用final 修飾之後[必須]手動賦值,不再有預設值

2.對於final修飾的成員變數,要麼使用直接賦值,要麼通過構造方法進行賦值,二選一.

3.必須保證類當中的所有過載的構造方法,都最終會對final成員變數進行賦值,為了讓無論用哪個構造都能給final修飾的成員變數賦值.

二.static關鍵字

1.static常用來修飾類的屬性和方法,讓他們成為類的成員屬性和方法,我們通常將用static修飾的成員稱為類成員、靜態成員或者靜態變數.

靜態變數無需例項化物件,直接通過類名即可訪問,。

靜態屬性/靜態變數

/類屬性

-->

* 屬於類的屬性,不屬於某個物件

,而是被所有該類的物件共享

* static修飾屬性和方法

:* 1) 隨著類載入而在記憶體初始化

-->

已經可以被使用了

*  2) 在記憶體中只有乙份

,被該類的所有物件共享

1) 可以修飾屬性,方法,在記憶體中只有乙份

2) 修飾的屬性叫做類屬性à 該屬性屬於當前位元組碼檔案(xx.class),被當前類建立出的所有物件共享,同理還有類方法

3) 凡是被static修飾的屬性和方法,會隨著類載入而初始化

.. 類屬性比物件屬性先在記憶體出現,類屬性可以不通過物件呼叫

類名.靜態屬性;

類名.靜態方法();

static關鍵字和final關鍵字

static記住幾點 1.優先順序高,載入優先物件例項化 2.在記憶體中只分配一次 3.屬於類本身,所有例項共享,一處變,處處變 4.1 static不能訪問沒有static修飾的方法 因為不認識,物件例項後才能在外部使用方法 2 可以訪問static塊 3 未加static的方法可以訪問stati...

static和final 關鍵字

static 關鍵字 可以用於修飾屬性,也可以用於修飾方法,還可以用於修飾 類 後面的課程講 static 修飾屬性 無論乙個類生成了多少個物件,所有這些物件共同使用唯 一乙份靜態的成員變數 乙個物件對該靜態成員變數進行了修改,其他物件 的該靜態成員變數的值也會隨之發生變化。如果乙個成員變數是 st...

final和static關鍵字

final和static關鍵字 1 final關鍵字 final可以修飾成員變數,表示成員變數初始化後不可修改,變為常量。final可以修飾方法,表示該方法不可被重寫 final可以修飾類,表示該類不可以被繼承 final可以修飾區域性變數,表示該區域性變數在初始化後,轉變為常量。2 static關...