static方法是類中的乙個成員方法,屬於整個類,即使不用建立任何物件也可以直接呼叫!
優先於物件存在,
被所有物件所共享
靜態方法
效率上要比例項化高,
靜態方法
的缺點是不自動進行銷毀,而例項化的則可以做銷毀。
靜態會隨著類的消失而消失,說明他的生命週期最長
1、靜態方法只能訪問靜態成員
2、靜態方法中不可以定義this,super關鍵字
因為靜態優先於物件存在,所以靜態方法中不可以出現this
3、主函式是靜態的
優點:對物件的資料進行單獨空間的儲存,節省空間,沒有必要每個物件中的儲存乙份
可以直接被類名呼叫(person.country)
缺點:生命週期過長。
訪問出現侷限性。(只能訪問靜態)
對靜態區域性變數:
(1) 靜態區域性變數在靜態儲存區內分配儲存單元。在程式整個執行期間都不釋放。而自動變數(即動態區域性變數)屬於動態儲存類別,儲存在動態儲存區空間(而不是靜態儲存區空間),函式呼叫結束後即釋放。
(2) 為靜態區域性變數賦初值是在編譯時進行值的,即只賦初值一次,在程式執行時它已有初值。以後每次呼叫函式時不再重新賦初值而只是保留上次函式呼叫結束時的 值。而為自動變數賦初值,不是在編譯時進行的,而是在函式呼叫時進行,每呼叫一次函式重新給一次初值,相當於執行一次賦值語句。
(3) 如果在定義區域性變數時不賦初值的話,對靜態區域性變數來說,編譯時自動賦初值0(對數值型變數)或空字元(對字元型變數)。而對自動變數來說,如果不賦初 值,則它的值是乙個不確定的值。這是由於每次函式呼叫結束後儲存單元已釋放,下次呼叫時又重新另分配儲存單元,而所分配的單元中的值是不確定的。
(4) 雖然靜態區域性變數在函式呼叫結束後仍然存在,但其他函式是不能引用它的,也就是說,在其他函式中它是「不可見」的。
參考:static 的特點 - csdn部落格
區域性靜態變數static詳解 - csdn部落格
static關鍵字的特點以及注意事項
當乙個類中的所有方法都是靜態的,它就會私有它的構造方法。例如 math類 使用場景 如果某個成員變數是被所有物件共享的,那麼它就應該定義為靜態的 其實它本身也可以通過物件名呼叫 推薦使用類名呼叫 原因 1.靜態是隨著類的載入而載入,this是隨著物件的建立而存在。2.靜態比物件先存在 靜態方法 成員...
引用的特點和注意事項
引用,是變數的別名,就是你自己有個名字,比如李四,那你還有另外乙個小名,叫小四,小四就是你的別名,別人叫你的時候你就會答應,那麼李四和小四是同乙個人,那麼某個變數的引用是一樣的,對該引用的操作就是對原變數的操作,本身不占用儲存單元,也不是乙個新的資料型別。不能建立陣列的引用 引用在函式傳參時的特點 ...
Java靜態方法的注意事項
靜態的使用注意事項 1.靜態方法只能訪問靜態成員 包括成員變數和成員方法 非靜態方法可以訪問靜態也可以訪問非靜態 2.靜態方法中不可以定義this,super關鍵字 因為 乙個類中,乙個static變數只會有乙個記憶體空間,雖然有多個類例項,但這些類例項中的這個static變數會共享同乙個記憶體空間...