static關鍵字的使用

2022-09-14 20:24:25 字數 2153 閱讀 6716

/*

* static關鍵字的使用

*

* 1.static:靜態的

* 2.static可以用來修飾:屬性、方法、**塊、內部類

*

* 3.使用static修飾屬性:靜態變數(或類變數)

* 3.1 屬性,按是否使用static修飾,又分為:靜態屬性 vs 非靜態屬性(例項變數)

* 例項變數:我們建立了類的多個物件,每個物件都獨立的擁有一套類中的非靜態屬性。當修改其中乙個物件中的

* 非靜態屬性時,不會導致其他物件中同樣的屬性值的修改。

* 靜態變數:我們建立了類的多個物件,多個物件共享同乙個靜態變數。當通過某乙個物件修改靜態變數時,會導致

* 其他物件呼叫此靜態變數時,是修改過了的。

* 3.2 static修飾屬性的其他說明:

* ① 靜態變數隨著類的載入而載入。可以通過"類.靜態變數"的方式進行呼叫

* ② 靜態變數的載入要早於物件的建立。

* ③ 由於類只會載入一次,則靜態變數在記憶體中也只會存在乙份:存在方法區的靜態域中。

*

* ④   類變數 例項變數

* 類        yes no

* 物件     yes yes

*

* 3.3 靜態屬性舉例:system.out; math.pi;

*

* 4.使用static修飾方法:靜態方法

* ① 隨著類的載入而載入,可以通過"類.靜態方法"的方式進行呼叫

* ② 靜態方法 非靜態方法

* 類 yes no

* 物件 yes yes

* ③ 靜態方法中,只能呼叫靜態的方法或屬性

* 非靜態方法中,既可以呼叫非靜態的方法或屬性,也可以呼叫靜態的方法或屬性

*

* 5. static注意點:

* 5.1 在靜態的方法內,不能使用this關鍵字、super關鍵字

* 5.2 關於靜態屬性和靜態方法的使用,大家都從生命週期的角度去理解。

*

* 6. 開發中,如何確定乙個屬性是否要宣告為static的?

* > 屬性是可以被多個物件所共享的,不會隨著物件的不同而不同的。

* > 類中的常量也常常宣告為static

*

* 開發中,如何確定乙個方法是否要宣告為static的?

* > 操作靜態屬性的方法,通常設定為static的

* > 工具類中的方法,習慣上宣告為static的。 比如:math、arrays、collections

*/

使用static關鍵字

在前面的課程中,你學到了區域性變數 有塊範圍 和全域性變數 有計畫的範圍 還有另乙個作用域的變數,可以水平 檔案範圍。檔案範圍內的變數可以被訪問的任何功能或嵌在乙個單一的檔案。申報檔案作用域的變數,簡單地宣告乙個變數,一塊外 同乙個全域性變數 但使用static關鍵字 123 4567 static...

使用static關鍵字

在前面的課程中,你學到了區域性變數 有塊範圍 和全域性變數 有計畫的範圍 還有另乙個作用域的變數,可以水平 檔案範圍。檔案範圍內的變數可以被訪問的任何功能或嵌在乙個單一的檔案。申報檔案作用域的變數,簡單地宣告乙個變數,一塊外 同乙個全域性變數 但使用static關鍵字 123 4567 static...

static關鍵字使用

版本 v1.0 public class study 6 1 class person4 靜態使用注意事項 1.靜態方法只能訪問靜態成員 非靜態的方法既可以訪問靜態也可以訪問非靜態 這點注意先後順序就可以理解 2.靜態方法中不可以定義this,super等關鍵字 因為靜態優先於物件存在。所以靜態方法...