- 相關(guān)推薦
Java語言static關(guān)鍵字
導(dǎo)語:Java語言static的靜態(tài)屬性是用來修飾成員變量和成員函數(shù),下面讓我們一起了解一下這種關(guān)鍵詞吧!
1、static關(guān)鍵字:
(1)靜態(tài)的意思,用來修飾成員變量和成員函數(shù)
(2)靜態(tài)的特點:
隨著類的加載而加載
優(yōu)先于對象存在
對所有對象共享
可以被類名直接調(diào)用
(3)靜態(tài)的注意事項
A:靜態(tài)方法只能訪問靜態(tài)成員
為什么:因為靜態(tài)的內(nèi)容是隨著類的加載而加載,它是先進內(nèi)存的。
B:靜態(tài)方法中不能使用this,super關(guān)鍵字
C:主方法是靜態(tài)的
public static void main(String[] args)
public:公共的意思,是最大權(quán)限修飾符。
static:由于jvm調(diào)用main方法的時候,沒有創(chuàng)建對象。
只能通過類名調(diào)用。所以,main必須用static修飾。
void:由于main方法是被jvm調(diào)用,不需要返回值。用void修飾。
main:main是主要的意思,所以jvm采用了這個名字。是程序的入口。
String[]:字符串?dāng)?shù)組
args:數(shù)組名
在運行的時候,通過java命令給args數(shù)組賦值。
格式:java MainTest hello world itcast
(4)靜態(tài)變量和成員變量的區(qū)別
A:調(diào)用方式
靜態(tài)變量也稱為類變量,可以直接通過類名調(diào)用。也可以通過對象名調(diào)用。
這個變量屬于類。
成員變量也稱為實例變量,只能通過對象名調(diào)用。這個變量屬于對象。
B:存儲位置
靜態(tài)變量存儲在方法區(qū)長中的靜態(tài)區(qū)。
成員變量存儲在堆內(nèi)存。
C:生命周期
靜態(tài)變量隨著類的加載而存在,隨著類的消失而消失。生命周期長。
成員變量隨著對象的創(chuàng)建而存在,隨著對象的消失而消失。
D:與對象的相關(guān)性
靜態(tài)變量是所有對象共享的數(shù)據(jù)。
成員變量是每個對象所特有的數(shù)據(jù)。
(5)靜態(tài)的優(yōu)點和弊端
優(yōu)點:
對對象的共享數(shù)據(jù)進行單獨空間的存儲,節(jié)省內(nèi)存,沒有必要每個對象都存儲一份
可直接被類名調(diào)用
弊端:
生命周期過長,隨著類的消失而消失
訪問出現(xiàn)權(quán)限,即靜態(tài)雖好但只能訪問靜態(tài)
(6)什么使用使用靜態(tài)呢?
A:當(dāng)所有對象共享某個數(shù)據(jù)的時候,就把這個成員變量定義為靜態(tài)修飾的。
B:當(dāng)某個方法沒有訪問該類中的非靜態(tài)成員,就可以把這個方法定義為靜態(tài)修飾。
靜態(tài)的生命周期比較長,所以一般不推薦使用。
(7)靜態(tài)代碼塊
A:它只執(zhí)行一次,它比main還先執(zhí)行。
B:執(zhí)行順序
靜態(tài)代碼塊--構(gòu)造代碼塊--構(gòu)造方法
【Java語言static關(guān)鍵字】相關(guān)文章:
淺談Java語言中static的作用08-10
C語言關(guān)鍵字:auto、static、register、const08-06
C語言中Static和Const關(guān)鍵字的作用04-16
C語言中的static和extern關(guān)鍵字的作用06-19
Java關(guān)鍵字及注釋08-12
理解java中的關(guān)鍵字06-22