大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java編程語言,Java成員變量與類變量的區(qū)別

Java編程語言,Java成員變量與類變量的區(qū)別

更新時間:2020-05-27 16:23:34 來源:動力節(jié)點 瀏覽2200次

由static修飾的變量稱為靜態(tài)變量,其實質(zhì)上就是一個全局變量。如果某個內(nèi)容是被所有對象所共享,那么該內(nèi)容就應(yīng)該用靜態(tài)修飾;沒有被靜態(tài)修飾的內(nèi)容,其實是屬于對象的特殊描述。

不同的對象的實例變量將被分配不同的內(nèi)存空間,如果類中的成員變量有類變量,那么所有對象的這個類變量都分配給相同的一處內(nèi)存,改變其中一個對象的這個類變量會影響其他對象的這個類變量,也就是說對象共享類變量。

成員變量和類變量的區(qū)別:

1.兩個變量的生命周期不同

  • 成員變量隨著對象的創(chuàng)建而存在,隨著對象的回收而釋放。
  • 靜態(tài)變量隨著類的加載而存在,隨著類的消失而消失。

2.調(diào)用方式不同

  • 成員變量只能被對象調(diào)用。
  • 靜態(tài)變量可以被對象調(diào)用,還可以被類名調(diào)用。

3.別名不同

  • 成員變量也稱為實例變量。
  • 靜態(tài)變量也稱為類變量。

4.數(shù)據(jù)存儲位置不同

  • 成員變量存儲在堆內(nèi)存的對象中,所以也叫對象的特有數(shù)據(jù)。
  • 靜態(tài)變量數(shù)據(jù)存儲在方法區(qū)(共享數(shù)據(jù)區(qū))的靜態(tài)區(qū),所以也叫對象的共享數(shù)據(jù)。
  • static關(guān)鍵字,是一個修飾符,用于修飾成員(成員變量和成員函數(shù))。

特點:

  • 想要實現(xiàn)對象中的共性數(shù)據(jù)的對象共享。可以將這個數(shù)據(jù)進行靜態(tài)修飾。
  • 被靜態(tài)修飾的成員,可以直接被類名所調(diào)用。也就是說,靜態(tài)的成員多了一種調(diào)用方式。類名.靜態(tài)方式。
  • 靜態(tài)隨著類的加載而加載。而且優(yōu)先于對象存在。

弊端:

1.有些數(shù)據(jù)是對象特有的數(shù)據(jù),是不可以被靜態(tài)修飾的。因為那樣的話,特有數(shù)據(jù)會變成對象的共享數(shù)據(jù)。這樣對事物的描述就出了問題。所以,在定義靜態(tài)時,必須要明確,這個數(shù)據(jù)是否是被對象所共享的。

2.靜態(tài)方法只能訪問靜態(tài)成員,不可以訪問非靜態(tài)成員。

因為靜態(tài)方法加載時,優(yōu)先于對象存在,所以沒有辦法訪問對象中的成員。

3.靜態(tài)方法中不能使用this,super關(guān)鍵字。

因為this代表對象,而靜態(tài)在時,有可能沒有對象,所以this無法使用。

什么時候定義靜態(tài)成員呢?或者說:定義成員時,到底需不需要被靜態(tài)修飾呢?

成員分兩種:

1.成員變量。(數(shù)據(jù)共享時靜態(tài)化)

該成員變量的數(shù)據(jù)是否是所有對象都一樣:

如果是,那么該變量需要被靜態(tài)修飾,因為是共享的數(shù)據(jù)。

如果不是,那么就說這是對象的特有數(shù)據(jù),要存儲到對象中。

2.成員函數(shù)。(方法中沒有調(diào)用特有數(shù)據(jù)時就定義成靜態(tài))

如果判斷成員函數(shù)是否需要被靜態(tài)修飾呢?

只要參考,該函數(shù)內(nèi)是否訪問了對象中的特有數(shù)據(jù):

如果有訪問特有數(shù)據(jù),那方法不能被靜態(tài)修飾。

如果沒有訪問過特有數(shù)據(jù),那么這個方法需要被靜態(tài)修飾。

成員變量和靜態(tài)變量的區(qū)別:

1.成員變量所屬于對象。所以也稱為實例變量。

  • 靜態(tài)變量所屬于類。所以也稱為類變量。

2.成員變量存在于堆內(nèi)存中。

  • 靜態(tài)變量存在于方法區(qū)中。

3.成員變量隨著對象創(chuàng)建而存在。隨著對象被回收而消失。

  • 靜態(tài)變量隨著類的加載而存在。隨著類的消失而消失。

4.成員變量只能被對象所調(diào)用。

  • 靜態(tài)變量可以被對象調(diào)用,也可以被類名調(diào)用。
  • 所以,成員變量可以稱為對象的特有數(shù)據(jù),靜態(tài)變量稱為對象的共享數(shù)據(jù)。

Java編程語言,Java成員變量與類變量的區(qū)別

以上就是動力節(jié)點java培訓機構(gòu)的小編針對“Java編程語言,Java成員變量與類變量的區(qū)別”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 羞羞视频在线免费 | 国产a视频| 日韩 欧美 亚洲国产 | 在线观看日韩欧美 | 日本激情视频一区二区三区 | 色爱视频| 国产99视频精品免费视频免里 | 精品1区2区3区 | 视频在线一区二区 | 精品国产一区二区三区不卡 | 三级黄毛片 | 精品动漫一区二区三区 | 99热最新网站 | 四虎午夜 | 国产在线精品福利大全 | 久久九九免费视频 | 久久不卡一区二区三区 | 国产―笫一页―浮力影院xyz | 久久国产香蕉视频 | 欧美一级在线播放 | 大学生一级毛片免费看真人 | 亚州综合网 | 亚洲国产精品欧美日韩一区二区 | 深夜视频在线 | 四虎影视大全 | 久久美女精品国产精品亚洲 | 成人亚洲| 日韩亚洲精品不卡在线 | 夜色私人影院永久入口 | 成人在线视频一区 | 国产一区二区日韩欧美在线 | 精品日产 | 成人国产第一区在线观看 | 日韩亚洲欧美在线爱色 | 香蕉免费一区二区三区在线观看 | 欧美成人一区二区三区在线视频 | 欧美精品免费在线 | 亚洲天天网综合自拍图片专区 | 美国一级毛片片免费 | 成人爽视频 | 欧美啪啪小视频 |