2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、JAVA面試題解惑系列(三)——變量(屬性)的覆蓋我們來看看這么一道題:Java代碼classParentClasspublicinti=10publicclassSubClassextendsParentClasspublicinti=30publicstaticvoidmain(String[]args)ParentClassparentClass=newSubClass()SubClasssubClass=newSubClass(

2、)System.out.println(parentClass.isubClass.i)自加System.out.println(parentClass.i)10System.out.println(subClass.i)30控制臺的輸出結(jié)果是多少呢?20?40?還是60?變量,或者叫做類的屬性,在繼承的情況下,如果父類和子類存在同名的變量會出現(xiàn)什么情況呢?這就是這道題要考查的知識點——變量(屬性)的覆蓋。這個問題雖然簡單,但是情況卻比

3、較復(fù)雜。因為我們不僅要考慮變量、靜態(tài)變量和常量三種情況,還要考慮private、friendly(即不加訪問修飾符)、protected和public四種訪問權(quán)限下對屬性的不同影響。我們先從普通變量說起。依照我們的慣例,先來看一段代碼:Java代碼classParentClassprivateStringprivateField=“父類變量private“friendlyStringfriendlyField=“父類變量friendly

4、“protectedStringprotectedField=“父類變量protected“publicStringpublicField=“父類變量public“private的變量無法直接訪問,因此我們給他增加了一個訪問方法publicStringgetPrivateFieldValue()returnprivateFieldSystem.out.println(subClazz.getPrivateFieldValue())子類變

5、量privateSystem.out.println(subClazz.friendlyField)子類變量friendlySystem.out.println(subClazz.protectedField)子類變量protectedSystem.out.println(subClazz.publicField)子類變量public這段代碼的運行結(jié)果如下:1、ParentClassparentClass=newParentClass(

6、)2、父類變量private3、父類變量friendly4、父類變量protected5、父類變量public6、7、ParentClasssubClass=newSubClass()8、子類變量private9、父類變量friendly10、父類變量protected11、父類變量public12、13、SubClasssubClazz=newSubClass()14、子類變量private15、子類變量friendly16、子類變量

7、protected17、子類變量public從上面的結(jié)果中可以看出,private的變量與其它三種訪問權(quán)限變量的不同,這是由于方法的重寫(override)而引起的。關(guān)于重寫知識的回顧留給以后的章節(jié),這里我們來看一下其它三種訪問權(quán)限下變量的覆蓋情況。子類型的對象,可以覆蓋父類屬性。父類型的對象,構(gòu)造方法是子類的(子轉(zhuǎn)父)不能覆蓋屬性,但子類同名實例方法被覆蓋,同名靜態(tài)方法不被覆蓋,而子類方法可以直接訪問子類屬性,父類方法只能訪問父類屬性

8、,子類方法可以訪問子類屬性和父類屬性(當然得有權(quán)限)。由于private變量的特殊性,在接下來的實驗中我們都把它排除在外,不予考慮。由于上面的例子已經(jīng)說明了,當變量類型是父類(ParentClass)時,不管我們創(chuàng)建的對象是父類(ParentClass)的還是子類(SubClass)的,都不存在屬性覆蓋的問題,因此接下來我們也只考慮變量類型和創(chuàng)建對象都是子類(SubClass)的情況。Java代碼classParentClassfrie

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論