Java中static關鍵字的使用
static:靜態的
static可以用來修飾:屬性、方法、代碼塊、內部類
使用static修飾屬性:靜態變量(或類變量)
屬性,按是否使用static修飾,又分為:靜態屬性 vs 非靜態屬性(實例變量)
實例變量:我們創建了類的多個對象,每個對象都獨立的擁有一套類中的非靜態屬性。當修改其中一個對象中的
非靜態屬性時,不會導致其他對象中同樣的屬性值的修改。
靜態變量:我們創建了類的多個對象,多個對象共享同一個靜態變量。當通過某一個對象修改靜態變量時,會導致
其他對象調用此靜態變量時,是修改過了的。
static修飾屬性的其他說明:
① 靜態變量隨著類的加載而加載。可以通過"類.靜態變量"的方式進行調用
② 靜態變量的加載要早于對象的創建。
③ 由于類只會加載一次,則靜態變量在內存中也只會存在一份:存在方法區的靜態域中。
④
使用static修飾方法:靜態方法
① 隨著類的加載而加載,可以通過"類.靜態方法"的方式進行調用
② 靜態方法中,只能調用靜態的方法或屬性
非靜態方法中,既可以調用非靜態的方法或屬性,也可以調用靜態的方法或屬性
③
static注意點:
靜態的方法內,不能使用this關鍵字、super關鍵字
關于靜態屬性和靜態方法的使用,大家都從生命周期的角度去理解。
是否要聲明為static
開發中,如何確定一個屬性是否要聲明為static的?
屬性是可以被多個對象所共享的,不會隨著對象的不同而不同的。
類中的常量也常常聲明為static
開發中,如何確定一個方法是否要聲明為static的?
操作靜態屬性的方法,通常設置為static的
工具類中的方法,習慣上聲明為static的。 比如:Math、Arrays、Collections
Java
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。