成員變量、類變量、局部變量的區(qū)別_第1頁
成員變量、類變量、局部變量的區(qū)別_第2頁
成員變量、類變量、局部變量的區(qū)別_第3頁
成員變量、類變量、局部變量的區(qū)別_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、成員變量、類變量、局部變量的區(qū)別 變量名寫字母使寫,如果由多個(gè)單詞組成,從第2個(gè)單詞開始的其他單詞的寫字母使寫。 如果局部變量的名字和成員變量的名字相同, 要想在該法中使成員變量,必須使關(guān)鍵字this class People String name = 類體重定義的name; /類中的成員變量并賦值 People() public void speak() String name = 類體法中定義的name; /在法speak中定義和成員變量名字相同的name并賦值 System.out.println(name); System.out.println(); /通過thi

2、s來訪問類中的成員變量 public class TestThis /源件中只能有個(gè)類是public類,并且源件的名字必須與這個(gè)類的名字完全相同,如 /果沒有public類,那么源件的名字只要和某個(gè)類的名字相同就可以了。 public static void main(String args) People myPeople = new People(); myPeople.speak(); 輸出結(jié)果: 成員變量和局部變量的區(qū)別 成員變量: 1、成員變量定義在類中,在整個(gè)類中都可以被訪問。 2、成員變量隨著對(duì)象的建建,隨著對(duì)象的消失消失,存在于對(duì)象所在的堆內(nèi)存中。 3、成員變量有默認(rèn)初始化值。

3、 局部變量: 1、局部變量只定義在局部范圍內(nèi),如:函數(shù)內(nèi),語句內(nèi)等,只在所屬的區(qū)域有效。 2、局部變量存在于棧內(nèi)存中,作的范圍結(jié)束,變量空間會(huì)動(dòng)釋放。 3、局部變量沒有默認(rèn)初始化值 在使變量時(shí)需要遵循的原則為:就近原則 先在局部范圍找,有就使;接著在成員位置找。 成員變量和類變量的區(qū)別 由static修飾的變量稱為靜態(tài)變量,其實(shí)質(zhì)上就是個(gè)全局變量。如果某個(gè)內(nèi)容是被所有對(duì)象所共享,那么該內(nèi)容就應(yīng)該靜 態(tài)修飾;沒有被靜態(tài)修飾的內(nèi)容,其實(shí)是屬于對(duì)象的特殊描述。 不同的對(duì)象的實(shí)例變量將被分配不同的內(nèi)存空間, 如果類中的成員變量有類變量,那么所有對(duì)象的這個(gè)類變量都分配給相同 的處內(nèi)存,改變其中個(gè)對(duì)象的這

4、個(gè)類變量會(huì)影響其他對(duì)象的這個(gè)類變量,也就是說對(duì)象共享類變量。 class MyAdd int count = 0; /成員變量計(jì)數(shù)器 static int sum = 0; /靜態(tài)變量計(jì)數(shù)器 String name; MyAdd(String name) = name; public void myAddMethod() count+; System.out.println(name+調(diào)成員變量后的值:+count); public void staticAddMethod() sum+; System.out.println(name+調(diào)類后變量的值:+sum); pub

5、lic class TestThis public static void main(String args) MyAdd add1 = new MyAdd(add1); MyAdd add2 = new MyAdd(add2); add1.myAddMethod(); add2.myAddMethod(); add1.myAddMethod(); add1.staticAddMethod(); add2.staticAddMethod(); add1.staticAddMethod(); 輸出結(jié)果: 成員變量和類變量的區(qū)別: 1、兩個(gè)變量的命周期不同 成員變量隨著對(duì)象的創(chuàng)建存在,隨著對(duì)象的回

6、收釋放。 靜態(tài)變量隨著類的加載存在,隨著類的消失消失。 2、調(diào)式不同 成員變量只能被對(duì)象調(diào)。 靜態(tài)變量可以被對(duì)象調(diào),還可以被類名調(diào)。 3、別名不同 成員變量也稱為實(shí)例變量。 靜態(tài)變量也稱為類變量。 4、數(shù)據(jù)存儲(chǔ)位置不同 成員變量存儲(chǔ)在堆內(nèi)存的對(duì)象中,所以也叫對(duì)象的特有數(shù)據(jù)。 靜態(tài)變量數(shù)據(jù)存儲(chǔ)在法區(qū)(共享數(shù)據(jù)區(qū))的靜態(tài)區(qū),所以也叫對(duì)象的共享數(shù)據(jù)。 static: 關(guān)鍵字,是個(gè)修飾符,于修飾成員(成員變量和成員函數(shù))。 特點(diǎn): 1、想要實(shí)現(xiàn)對(duì)象中的共性數(shù)據(jù)的對(duì)象共享??梢詫⑦@個(gè)數(shù)據(jù)進(jìn)靜態(tài)修飾。 2、被靜態(tài)修飾的成員,可以直接被類名所調(diào)。也就是說,靜態(tài)的成員多了種調(diào)式。類名.靜態(tài)式。 3、靜態(tài)隨著類

7、的加載加載。且優(yōu)先于對(duì)象存在。 弊端: 1、有些數(shù)據(jù)是對(duì)象特有的數(shù)據(jù),是不可以被靜態(tài)修飾的。因?yàn)槟菢拥脑?,特有?shù)據(jù)會(huì)變成對(duì)象的共享數(shù)據(jù)。這樣對(duì)事物的 描述就出了問題。所以,在定義靜態(tài)時(shí),必須要明確,這個(gè)數(shù)據(jù)是否是被對(duì)象所共享的。 2、靜態(tài)法只能訪問靜態(tài)成員,不可以訪問靜態(tài)成員。 因?yàn)殪o態(tài)法加載時(shí),優(yōu)先于對(duì)象存在,所以沒有辦法訪問對(duì)象中的成員。 3、靜態(tài)法中不能使this,super關(guān)鍵字。 因?yàn)閠his代表對(duì)象,靜態(tài)在時(shí),有可能沒有對(duì)象,所以this法使。 什么時(shí)候定義靜態(tài)成員呢?或者說:定義成員時(shí),到底需不需要被靜態(tài)修飾呢? 成員分兩種: 1、成員變量。(數(shù)據(jù)共享時(shí)靜態(tài)化) 該成員變量的數(shù)據(jù)是否是所有對(duì)象都樣: 如果是,那么該變量需要被靜態(tài)修飾,因?yàn)槭枪蚕淼臄?shù)據(jù)。 如果不是,那么就說這是對(duì)象的特有數(shù)據(jù),要存儲(chǔ)到對(duì)象中。 2、成員函數(shù)。(法中沒有調(diào)特有數(shù)據(jù)時(shí)就定義成靜態(tài)) 如果判斷成員函數(shù)是否需要被靜態(tài)修飾呢? 只要參考,該函數(shù)內(nèi)是否訪問了對(duì)象中的特有數(shù)據(jù): 如果有訪問特有數(shù)據(jù),那法不能被靜態(tài)修飾。 如果沒有訪問過特有數(shù)據(jù),那么這個(gè)法需要被靜態(tài)修飾。 成員變量和靜態(tài)變量的區(qū)別: 1、成員變量所屬于對(duì)象。所以也稱為實(shí)例變量。 靜態(tài)變量所屬于類。所以也稱為類變量。 2、成員變量存在于堆內(nèi)存中。 靜態(tài)變量存在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論