成員變量和局部變量_第1頁
成員變量和局部變量_第2頁
成員變量和局部變量_第3頁
成員變量和局部變量_第4頁
成員變量和局部變量_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

成員變量和局部變量目錄Part01教學(xué)目標Part02教學(xué)內(nèi)容Part04鞏固提高ContentsPart03教學(xué)總結(jié)Part01教學(xué)目標教學(xué)目標知識目標成員變量局部變量01能力目標能夠正確區(qū)分成員變量、局部變量02Part02教學(xué)內(nèi)容1.變量分類成員變量:指的是在類里定義的變量局部變量:指的是在方法里定義的變量變量需要遵循命名規(guī)范見名知義可由多個有意義的單詞連綴而成第一個單詞首字母小寫,后面每個單詞首字母大寫1.變量分類變量成員變量局部變量實例變量(不以static修飾)類變量(以static修飾)形參(方法簽名中定義的變量)代碼塊局部變量(在代碼塊內(nèi)定義的變量)方法局部變量(在方法內(nèi)定義的變量)2.成員變量類變量:定義成員變量時有static修飾的就是類變量從該類的準備階段起開始存在,直到系統(tǒng)完全銷毀這個類類變量的作用域與這個類的生存范圍相同訪問類變量的語法為:

(1)類.類變量

(2)實例.類變量(不建議)實例變量:定義成員變量時沒有static修飾的就是實例變量從該類的實例被創(chuàng)建起開始存在,直到系統(tǒng)完全銷毀這個實例實例變量的作用域與實例的生存范圍相同訪問實例變量的語法為:

實例。實例變量2.成員變量例如:Person類中存在兩個成員變量,一個實例變量name,一個類變量eyeNum。publicclassPerson{//定義一個實例變量publicStringname;//定義一個類變量publicstaticinteyeNum;}

2.成員變量例如:PersonTest類使用實例變量name和類變量eyeNum。publicclassPerson{

publicstaticvoidmain(String[]args){//第一次主動使用Person類,該類自動初始化,則eyeNum變量開始起作用,輸出0System.out.println("Person的eyeNum類變量值:"

+Person.eyeNum);Personp=newPerson();//創(chuàng)建Person對象//通過Person對象的引用p來訪問Person對象name實例變量,并通過實例訪問eyeNum類變量System.out.println("p變量的name變量值是:"

++"p對象的eyeNum變量值是:"

+p.eyeNum);//直接為name實例變量賦值="孫悟空";//通過p訪問eyeNum類變量,依然是訪問Person的eyeNum類變量p.eyeNum=2;//再次通過Person對象來訪問name實例變量和eyeNum類變量System.out.println("p變量的name變量值是:"

++"p對象的eyeNum變量值是:"

+p.eyeNum);//前面通過p修改了Person的eyeNum,此處的Person.eyeNum將輸出2System.out.println("Person的eyeNum類變量值:"

+Person.eyeNum);Personp2=newPerson();//p2訪問的eyeNum類變量依然引用Person類的,因此依然輸出2System.out.println("p2對象的eyeNum類變量值:"

+p2.eyeNum);}}2.成員變量成員變量無須顯示初始化系統(tǒng)在類的準備階段對類變量進行默認初始化系統(tǒng)在創(chuàng)建該類的實例時對實例變量進行默認初始化在同一個類中,成員變量的作用范圍是整個類內(nèi)有效一個類中不能定義兩個同名的成員變量,即使一個是類變量,一個是實例變量也不行3.局部變量形參

在定義方法簽名時定義的變量,形參的作用域在整個方法內(nèi)有效。方法局部變量

在方法體內(nèi)定義的局部變量,它的作用域是從定義該變量的地方生效,到該方法結(jié)束時失效。代碼塊局部變量

在代碼塊中定義的局部變量,這個局部變量的作用域從定義該變量的地方生效,到該代碼塊結(jié)束時失效。局部變量除形參之外,都必須顯示初始化,否則不能訪問它們。3.局部變量例如:代碼塊局部變量。publicclassBlockTest{publicstaticvoidmain(String[]args){{//定義一個代碼塊局部變量ainta;//下面代碼將出現(xiàn)錯誤,因為a變量還未初始化//System.out.println("代碼塊局部變量a的值:"+a);//為a變量賦初始值,也就是進行初始化a=5;System.out.println(a);}//下面試圖訪問的a變量并不存在//System.out.println(a);}}

3.局部變量例如:方法局部變量。publicclassMethodLocalVariableTest{publicstaticvoidmain(String[]args){//定義一個方法局部變量ainta;//下面代碼將出現(xiàn)錯誤,因為a變量還未初始化//System.out.println("方法局部變量a的值:"+a);//為a變量賦初始值,也就是進行初始化a=5;System.out.println("方法局部變量a的值:"

+a);}}3.局部變量例如:形參publicclassPrimitiveTransferTest{publicstaticvoidswap(inta,intb){inttemp=a;a=b;b=temp;System.out.println("swap方法里,a的值是"+a+",b的值是"+b);}publicstaticvoidmain(String[]args){intmainA=6,mainB=9;swap(mainA,mainB);//下面試圖訪問的a變量并不存在,因為a變量是swap方法中的局部變量//System.out.println("swap中的變量a的值是:"+a);System.out.println("swap交換后,mainA的值是"+mainA+",mainB的值是"+mainB);}}3.局部變量一個方法中不能定義兩個同名的方法局部變量方法局部變量與形參不能同名同一個方法中,不同代碼塊的代碼塊局部變量可以同名如果先定義代碼塊局部變量,后定義方法局部變量,前面定義的代碼塊變量與后面定義的方法局部變量也可以同名4.成員變量和局部變量Java允許局部變量和成員變量同名如果方法里的局部變量和成員變量同名,局部變量會覆蓋成員變量如果需要在方法中訪問被覆蓋的成員變量——實例變量,可以使用this作為調(diào)用者來限定訪問成員變量

如果需要在方法中訪問被覆蓋的成員變量——類變量,可以使用類名作為調(diào)用者來限定訪問成員變量this.成員變量類.成員變量4.成員變量和局部變量例如:局部變量覆蓋成員變量(1)publicclassVariableOverrideTest

{//定義一個name實例變量privateStringname="Mike";//定義一個price類變量privatestaticdoubleprice=78.0;publicvoidinfo(){//方法里的局部變量,局部變量覆蓋成員變量Stringname="孫悟空";//直接訪問name變量,將輸出name局部變量的值:“孫悟空”System.out.println(name);//使用this來作為name變量的調(diào)用者,將輸出name實例變量的值:“Mike”System.out.println();}……}4.成員變量和局部變量例如:局部變量覆蓋成員變量publicclassVariableOverrideTest

{……publicstaticvoidmain(String[]args){//方法里的局部變量,局部變量覆蓋成員變量intprice=65;//直接訪問price變量,將輸出price局部變量的值:65System.out.println(price);//使用類名作為price變量的調(diào)用者,將輸出price類變量的值:78.0S

溫馨提示

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

評論

0/150

提交評論