Java父類與子類繼承關(guān)系論文_第1頁
Java父類與子類繼承關(guān)系論文_第2頁
Java父類與子類繼承關(guān)系論文_第3頁
Java父類與子類繼承關(guān)系論文_第4頁
Java父類與子類繼承關(guān)系論文_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、呼和浩特民族學(xué)院學(xué)年論文目錄摘要1關(guān)鍵詞1緒論11子類對象的創(chuàng)建與特點(diǎn)11.1創(chuàng)建子類和子類對象的方法11.2子類對象的特點(diǎn)11.3子類的隱藏22子類與父類的關(guān)系22. 1繼承關(guān)系的uml圖22.2子類和父類在同一包中的繼承性22.3子類和父類不在同一包屮的繼承性33方法重寫33.1重寫的語法規(guī)則33.2重寫的目的33.3重寫的注意事項(xiàng)34 super final 關(guān)鍵字34. 1用super操作被隱藏的成員變量和方法34. 2使用super調(diào)用父類的構(gòu)造方法44. 3 final 關(guān)鍵字4總結(jié)4參考文獻(xiàn)5摘要:本文論述了 java語言中的繼承機(jī)制,主要討論了繼承當(dāng)中父類和子類的關(guān)系,圍繞子類

2、可以繼承的父類成員以及在子類對象的創(chuàng)建與特點(diǎn)、方法重寫、super, final關(guān)鍵字等問題的看法 和淺析。繼承是血向?qū)ο笞铒@著的一個(gè)特性。繼承是從已有的類中派生出新的類,新的類能吸收已 有類的數(shù)據(jù)屬性和行為,并能擴(kuò)展新的能力。九眩繼承是使用已存在的類的定義作為基礎(chǔ)建立新類 的技術(shù),新類的定義可以增加新的數(shù)據(jù)或新的功能,也可以用父類的功能,但不能選擇性地繼承父 類。關(guān)鍵詞:繼承;子類;父類;重寫;super; final緒論 在java中,一個(gè)類的聲明中沒有extends關(guān)鍵字,這個(gè)類被系統(tǒng)默認(rèn)為是object的子類(object 是javajang包中的類),所以可以說所有的類都直接或者間接

3、的繼承object類,object是所有類的父 類。所謂子類繼承父類的成員變量作為自己的一個(gè)成員變量,就好像它們在子類中直接聲名一樣, 可以被子類中自己定義的任何實(shí)例變量方法操作。所謂子類繼承父類的方法作為子類中的一個(gè)方法, 就像它們是在子類中直接定義了一樣,可以被子類中自己定義的任何實(shí)例方法調(diào)用。也就是說,如 果子類中定義實(shí)例方法不能操作父類的某個(gè)成員變量或方法,那么該成員變量或方法沒有被子類繼 承。1子類對象的創(chuàng)建與特點(diǎn)1.1創(chuàng)建子類和子類對象的方法在類的聲明屮,通過關(guān)鍵字extends來聲明一個(gè)類的子類,格式如下:class子類名extends父類名 例如:class student e

4、xtends people 把student類聲明為people類的子類,people類是student類的父類。1.2子類對象的特點(diǎn)創(chuàng)建一個(gè)子類的對象吋,子類和父類的所有成員變量都分配了內(nèi)存控件,但只將其中一部分 (子類繼承的那部分)作為分配給子類對象的變量。父類中的private成員變量盡管分配了內(nèi)存空間,也不作為子類對象的變量,即子類不繼承父類 的私有成員變量。同樣,如果子類和父類不在同一包中,盡管父類的友好成員變量分配了內(nèi)存空間, 但也不作為子類的成員變量,即如果子類和父類不在同一包中,子類不繼承父類的友好成員變量。子類創(chuàng)建對象吋似乎浪費(fèi)了一些內(nèi)存?。ㄈ绺割愔械膒rivate成員變量分

5、配了內(nèi)存空i'可,但它既 不是子類的對象的變量,也不是父類對象的變量,因?yàn)檫€沒有父類對象)這部分內(nèi)存似乎成了垃圾一樣?no!子類中還有一部分方法是從父類繼承的,這部分方法卻可以操作這部分未繼承的變量。1.3子類的隱藏成員變量的隱藏.如果在子類中定義了與父類中同名的變量,父類的這個(gè)變量將被隱藏。在子 類屮訪問變量時(shí),子類變量起作用,父類變量不會(huì)被引用;方法的覆蓋,如果子類屮定義了與父類 同名、同類型、相同參數(shù)的方法,則稱子類覆蓋了父類的方法.在子類中訪問方法時(shí)。子類的方法 起作用,父類方法不會(huì)被調(diào)用如果在子類屮想引用父類被隱藏的方法和變量.可以使用super訪問父類被子類隱藏的變量或覆

6、蓋的方法.可以使用super.方法調(diào)用或super.變量名來進(jìn)行調(diào)用。2子類與父類的關(guān)系2.1繼承關(guān)系的uml圖父類子類<)2.2子類和父類在同一包中的繼承性訪問限制修飾符不僅限制了對象對自己成員變量的操作和方法的調(diào)用,也限制了繼承性。當(dāng)子類和父類在同一個(gè)包中時(shí),父類中的private訪問權(quán)限的成員變量不會(huì)被子類繼承,也就是 說,子類繼承父類屮的除private訪問權(quán)限以外的其他成員變量作為子類的成員變量;同樣,子類繼 承父類中的除private訪問權(quán)限以外的其他方法作為子類的方法。2.3子類和父類不在同一包中的繼承性當(dāng)子類和父類不在同一個(gè)包中時(shí),父類中的private和友好訪問權(quán)限的成

7、員變量不會(huì)被子類繼 承,也就是說,子類只繼承父類屮的protected和public訪問權(quán)限的成員變量作為子類的成員變量; 同樣,子類只繼承父類中的protected和public訪問權(quán)限的方法作為子類的方法。3方法重寫3.1重寫的語法規(guī)則如果子類可以繼承父類的某個(gè)實(shí)例方法,那么子類就有權(quán)利重寫這個(gè)方法。方法重寫:子類中定義一個(gè)方法,這個(gè)方法的類型和父類的方法的類型一致或者是父類的方法 的類型的子類型,并且這個(gè)方法的名字、參數(shù)個(gè)數(shù)、參數(shù)的類型和父類的方法完全相同。子類如此定 義的方法稱作子類重寫的方法(不屬于新增的方法)。3.2重寫的目的子類通過方法的重寫隱藏繼承的方法,子類重寫了父類的方法f

8、,就隱藏了繼承的方法f,那么 子類對象調(diào)用方法f調(diào)用的一定是重寫方法f。重寫方法既可以操作繼承的成員變量、繼承的方法, 也可以操作子類新聲明的成員變量、新定義的其他方法,但無法操作被子類隱藏的成員變量和方法。 如果子類想使用被隱藏的方法或成員變量,必須使用關(guān)鍵字super3.3重寫的注意事項(xiàng)(1)重寫父類的方法時(shí),不可以降低方法的訪問權(quán)限。下面的代碼中,子類重寫父類的方法f, 該方法在父類中的訪問權(quán)限是protected級別,子類重寫時(shí)不允許級別低于protected (示例,p93)(2)重寫方法的時(shí)候,要注意類型的包容4 super v flnal 關(guān)鍵字4.1用super操作被隱藏的成員

9、變量和方法子類一旦隱藏了繼承的成員變量,那么子類創(chuàng)建的對象就不再擁有該變量,該變量將歸關(guān)鍵字 super所有,同樣子類一旦隱藏了繼承的方法,那么子類創(chuàng)建的對象就不能調(diào)用被隱藏的方法,該方 法的調(diào)用由關(guān)鍵字super負(fù)責(zé)。因此,如果在子類中想使用被子類隱藏的成員變量或方法就需要使用 關(guān)鍵字super。4.2使用super調(diào)用父類的構(gòu)造方法當(dāng)用子類的構(gòu)造方法創(chuàng)建一個(gè)子類的對象時(shí),子類的構(gòu)造方法總是先調(diào)用父類的某個(gè)構(gòu)造方 法,也就是說,如果子類的構(gòu)造方法沒有明顯地指明使用父類的哪個(gè)構(gòu)造方法,子類就調(diào)用父類的 不帶參數(shù)的構(gòu)造方法,即如果在子類的構(gòu)造方法中,沒有明顯地寫super關(guān)鍵字來調(diào)用父類的某個(gè)

10、構(gòu)造方法,那么默認(rèn)地有:super ();子類不繼承父類的構(gòu)造方法,因此,子類在其構(gòu)造方法中需使用super來調(diào)用父類的構(gòu)造方法, 而且super必須是子類構(gòu)造方法屮的頭一條語句。4.3 final關(guān)鍵字final關(guān)鍵字可以修飾類、成員變量和方法中的局部變量。如果用final修飾父類中的一個(gè)方法,那么這個(gè)方法不允許子類重寫,也就是說,不允許子類隱 藏可以繼承的final方法(老老實(shí)實(shí)繼承,不許做任何篡改)??偨Y(jié)繼承簡化了人們對事物的認(rèn)識和描述,能清晰體現(xiàn)相關(guān)類間的層次結(jié)構(gòu)關(guān)系。繼承關(guān)系是傳遞的。若類c繼承類b,類b繼承類a (多繼承),則類c既有從類b那里繼承下來的 屬性與方法,也有從類a那里繼承下來的屬性與方法,還可以有自己新定義的屬性和方法。繼承來的 屬性和方法盡管是隱式的,但仍是類c的屬性和方法。繼承是在一些比較一般的類的基礎(chǔ)上構(gòu)造、建 立和擴(kuò)充新類的最有效的手段。繼承提供了軟件

溫馨提示

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

最新文檔

評論

0/150

提交評論