日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 智能硬件 > 人工智能AI
[導(dǎo)讀]   首先說一下繼承的好處:   1.提高了代碼的復(fù)用性   2.讓類和類之間產(chǎn)生了關(guān)系(關(guān)系是多態(tài)的前提)   將對像中的內(nèi)容不斷的向上抽取,就形成了關(guān)系,就有了繼承,就

  首先說一下繼承的好處:

  1.提高了代碼的復(fù)用性

  2.讓類和類之間產(chǎn)生了關(guān)系(關(guān)系是多態(tài)的前提)

  將對像中的內(nèi)容不斷的向上抽取,就形成了關(guān)系,就有了繼承,就有父子類,提高了代碼的復(fù)用性。

  繼承的特點:

  java語言當(dāng)中的繼承只能單繼承

  單繼承:一個類只能有一個父類,可以理解為一個兒子只能有一個父親。

  多繼承:一個類可以有多個父類,一個兒子有多個父親

  下面簡單用個例子來解釋一下:

  class A{

  void show(){

  System.out.println(“show a.。。”);

  }

  }

  class B{

  void show(){

  System.out.println(“show b.。。.。”);

  }

  }

  class C extends A{} //這就是單繼承

  class D extends A,B{

  //這就是多繼承

  D d = new D();

  d.show();

  }1234567891011121314151617

  接下來來說一下java不支持多繼承的原因:會產(chǎn)生調(diào)用的不確定性說完了java不支持多繼承的原因再說一下多繼承的好處:

  同時繼承幾個類,就會有幾個類的方法

  java改良了多繼承,雖然不支持多繼承,但是支持多重繼承,這樣就形成了繼承體系,如下所示

  class A extends B{}

  class B extends C{}

  C

  -----|B

  -----|A12345

  * 如何去使用一個繼承體系當(dāng)中的成員?*

  1.查閱該體系頂層類的內(nèi)容,因為通過該類能夠了解到該繼承體系的基本功能

  2.創(chuàng)建該子類的對象,既可以得到共性的功能,同時也包含子類特有的功能,簡單的來說:看父類內(nèi)容,創(chuàng)建子類的對象

  什么時候定義繼承?

  1.不許是事務(wù)之間存在著所屬關(guān)系時,才能定義繼承。

  2.所屬關(guān)系:xxxx是zzzz當(dāng)中的一種,例如: 學(xué)生是人類當(dāng)中的一種,用英文翻譯就是 is a 的關(guān)系

  誤區(qū):不要僅僅為了復(fù)用,為了獲得其他類當(dāng)中的內(nèi)容就去繼承

  繼承在成員中的特點:

  1.成員變量

  2.成員方法

  3.構(gòu)造方法

  繼承在成員變量中的用法

  1.父類當(dāng)中包含的公有的屬性,子類都可以調(diào)用。

  2.如果父類當(dāng)中包含的屬性的名稱和子類當(dāng)中包含的屬性的名稱相同了,并且在需要調(diào)用的方法中也有同名的變量名稱。

  正常情況下,方法中會采用就近原則去獲取變量的值,如果想獲得子類的對象的屬性的值,就通過this調(diào)用,如果想獲得父類的屬性的值,就通過super來調(diào)用。

  接下來說一下super這個關(guān)鍵字:

  super代表父類,它和this的用法是比較相似的。

  this代表本類當(dāng)中對象的引用,super則代表父類所屬的空間。

  一般情況下,如果父類中定義了一個屬性,子類中就不需要定義同名的屬性了,直接繼承就可以了。

  子類只能直接的訪問父類非私有的內(nèi)容,如果想要訪問私有的內(nèi)容,就使用其他的方法。子類能訪問的空間至少是兩片。

  繼承在成員函數(shù)中的特點:

  * 當(dāng)父子類出現(xiàn)了一模一樣的方法時,會產(chǎn)生一個函數(shù)的特性,名字叫做重寫(復(fù)寫,覆蓋)。

  * 英文 Override

  重寫的注意事項:

  * 1.子類重寫父類時,必須要保證重寫方法的權(quán)限必須大于等于被重寫方法的權(quán)限。

  * 權(quán)限修飾符權(quán)限的順序: private default protected public

  * 2.重寫方法有靜態(tài)修飾時,靜態(tài)只能重寫靜態(tài),或者被靜態(tài)重寫。

  *

  重寫和重載的區(qū)別

  * 1.重寫override 重載是overload

  * 2.重載要求在同一個類當(dāng)中。

  * 重寫要求在父子類繼承關(guān)系中。

  * 3.重載方法名相同,參數(shù)列表不同,返回值沒要求

  * 重寫方法方法名相同,參數(shù)列表相同,返回值類型也相同

  * 4.重載權(quán)限修飾符沒要求

  * 重寫權(quán)限的要求:重寫方法的權(quán)限必須大于等于被重寫的方法的權(quán)限。

  當(dāng)重寫一個方法時,想保留原來的功能的同時還想新增加功能,

  這時可以在重寫的方法中加入一句代碼:super.Xxx()—-》保留父類這個方法中的功能。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉