更新時(shí)間:2020-05-25 16:39:11 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3565次
在Java中,靜態(tài)變量和實(shí)例變量可以統(tǒng)稱為成員變量。首先,明白什么是靜態(tài)變量,什么是實(shí)例變量,他們定義的形式。靜態(tài)變量也叫做類變量,獨(dú)立于方法之外的變量,有static修飾。實(shí)例變量同樣獨(dú)立也是獨(dú)立于方法之外 的變量,但沒(méi)有static修飾。
舉個(gè)例子:
public?class?StaticTest?{
????private?static?int?staticInt?=?2;//靜態(tài)變量
????private?int?random?=?2;//實(shí)例變量
?
????public?StaticTest()?{
????????staticInt++;
????????random++;
????????System.out.println("staticInt?=?"+staticInt+"??random?=?"+random);
????}
?
????public?static?void?main(String[]?args)?{
????????StaticTest?test?=?new?StaticTest();
????????StaticTest?test2?=?new?StaticTest();
????}
}
看到上述代碼,大家可以想一下測(cè)試結(jié)果。
下面公布正確答案:
staticInt?=?3??random?=?3
staticInt?=?4??random?=?3
是否和你想的一樣?上述例子很好的解釋了靜態(tài)變量和實(shí)例變量的區(qū)別。
下面來(lái)干貨了,注意收好。
區(qū)別總結(jié)如下:
實(shí)例變量屬于某個(gè)對(duì)象的屬性,必須創(chuàng)建了實(shí)例對(duì)象,其中的實(shí)例變量才會(huì)被分配空間,才能使用這個(gè)實(shí)例變量。結(jié)合上述給出的例子。每創(chuàng)建一個(gè)實(shí)例對(duì)象,就會(huì)分配一個(gè)random,實(shí)例對(duì)象之間的random是互不影響的,所以就可以解釋為什么輸出的兩個(gè)random值是相同的了。
靜態(tài)變量不屬于某個(gè)實(shí)例對(duì)象,而是屬于整個(gè)類。只要程序加載了類的字節(jié)碼,不用創(chuàng)建任何實(shí)例對(duì)象,靜態(tài)變量就回被分配空間,靜態(tài)變量就可以被使用了。結(jié)合上述給出的例子,無(wú)論創(chuàng)建多少個(gè)實(shí)例對(duì)象,永遠(yuǎn)都只分配一個(gè)staticInt 變量,并且每創(chuàng)建一個(gè)實(shí)例對(duì)象,staticInt就會(huì)加一。
總之,實(shí)例變量必須創(chuàng)建對(duì)象后,才可以通過(guò)這個(gè)對(duì)象來(lái)使用;靜態(tài)變量則可以直接使用類名來(lái)引用(如果實(shí)例對(duì)象存在,也可以通過(guò)實(shí)例對(duì)象來(lái)引用)。
其實(shí),這也可以解釋,為什么static修飾的方法不用在實(shí)例對(duì)象創(chuàng)建后,可以調(diào)用。而沒(méi)有static修飾的方法必須要與對(duì)象關(guān)聯(lián)在一起,必須創(chuàng)建一個(gè)對(duì)象后,才可以在該對(duì)象上進(jìn)行方法調(diào)用。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java靜態(tài)變量與類變量與實(shí)例變量的區(qū)別”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743