最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

子類繼承父類時(shí)構(gòu)造函數(shù)相關(guān)問(wèn)題解析

 更新時(shí)間:2020年11月09日 15:07:30   作者:羊37  
這篇文章主要介紹了子類繼承父類時(shí)構(gòu)造函數(shù)相關(guān)問(wèn)題解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、總結(jié)

1.子類創(chuàng)建對(duì)象時(shí)會(huì)調(diào)用父類的構(gòu)造方法

2.采用super顯示聲明了就是調(diào)用這個(gè)顯示聲明的父類構(gòu)造方法,沒(méi)有則默認(rèn)調(diào)用父類的那個(gè)空構(gòu)造方法(父類中聲明了帶參數(shù)的構(gòu)造方法,默認(rèn)的就要顯示寫出)。

摘抄網(wǎng)絡(luò):在創(chuàng)建子類對(duì)象時(shí),會(huì)把父類里的成員變量和方法也加載進(jìn)內(nèi)存(因?yàn)橐虞d進(jìn)內(nèi)存,所以要看下這些數(shù)據(jù)是怎么初始化的,所以調(diào)用了父類的構(gòu)造,僅此而已,并不是去創(chuàng)建了父類對(duì)象)

二、分析

1.子類為什么可以繼承父類的屬性與方法?

  子類對(duì)象中包含一個(gè)父類對(duì)象

  在子類對(duì)象在創(chuàng)建過(guò)程中,先調(diào)用父類構(gòu)造方法(先創(chuàng)建出內(nèi)置的父類對(duì)象),然后再創(chuàng)建出自己的對(duì)象。

  所以子類構(gòu)造時(shí),會(huì)先調(diào)用父類的構(gòu)造方法,如果你在子類構(gòu)造方法中不顯示指明調(diào)用父類的哪個(gè)構(gòu)造方法,系統(tǒng)會(huì)給你默認(rèn)加上super()。這時(shí)父類必須有一個(gè)無(wú)參的構(gòu)造方法,不然會(huì)報(bào)錯(cuò)。

2.子類在構(gòu)造時(shí),形參可以是多少個(gè)?(設(shè)父類有可訪問(wèn)的成員屬性m個(gè),子類倘若增加自己的則增加了n個(gè))

A:子類沒(méi)有新加自己的屬性時(shí),它會(huì)有從父類繼承過(guò)來(lái)的m個(gè)屬性。這個(gè)時(shí)候要是子類寫帶參數(shù)的構(gòu)造方法,是對(duì)繼承過(guò)來(lái)的m個(gè)參數(shù)有選擇的進(jìn)行初始化。

B:子類有自己新加的屬性時(shí),它的屬性會(huì)有從父類繼承過(guò)來(lái)的m個(gè)+自己新加的n個(gè),一共是m+n個(gè),然后選擇性的寫構(gòu)造方法。

3.存在繼承關(guān)系時(shí),如何看子類的構(gòu)造方法?

  •   反正會(huì)先調(diào)用父類的構(gòu)造方法
  •   顯示寫了:super(參數(shù)列表),先依照此對(duì)繼承的父類屬性初始化
  •   沒(méi)有寫:調(diào)用父類的無(wú)參構(gòu)造方法super()

4.構(gòu)造方法里面是如何對(duì)屬性進(jìn)行賦值的?

  形參一個(gè)兩個(gè)三個(gè)還是多少個(gè)都不重要,怎么賦值取決于你構(gòu)造方法的方法體里面進(jìn)行的操作!(未初始化的成員變量會(huì)有默認(rèn)值(局部變量需要顯示賦初值))
  eg:子類構(gòu)造方法里面?zhèn)鬟f三個(gè)參數(shù)

  1.你可以選擇這樣,將str賦值給父類屬性,num1與num2賦值給自己新加的屬性。

  //子類son的構(gòu)造方法
  Son(String str,int num,char ch){
   super(str);
   System.out.println("子類有參構(gòu)造方法");
   this.num = num;
   this.char = ch;
  }

  2.你也可以選擇將str和num賦值給父類,char賦值給自己。

  //子類son的構(gòu)造方法2
  Son(String str,int num,char ch){
   super(str,num);
   System.out.println("子類有參構(gòu)造方法");
   this.char = ch;
  }

  所以說(shuō),我們只需要記得子類構(gòu)造方法必定會(huì)調(diào)用父類的構(gòu)造方法,至于各種屬性的賦值,都是由方法內(nèi)部決定的,而不是形參位置、數(shù)量等決定屬性的初始化。

三、實(shí)例

package yang.polymorphic;

class Father{
  public String str1;
  public int num1;

  Father(){
    System.out.println("父類無(wú)參構(gòu)造方法");
  }
  Father(String str){
    System.out.println("父類有參構(gòu)造方法1");
    this.str1 = str;
  }
}

class Son extends Father{
  public String str2;
  public int num2;

  Son(){
    //你不顯示調(diào)用父類的構(gòu)造方法時(shí),會(huì)默認(rèn)加上super()
    System.out.println("子類無(wú)參構(gòu)造方法");
  }
  Son(String str){
    System.out.println("子類有參構(gòu)造方法1");
    this.str2 = str;
  }
  Son(String str,int num){
    super(str);
    System.out.println("子類有參構(gòu)造方法2");
    this.num2 = num;
  }
}

public class Test {
  public static void main(String[] args) {
    Son son = new Son("dd",22);
    System.out.println("1."+son.str1+"--"+son.str2+"--"+son.num1+"--"+son.num2);
    System.out.println("-------------------------------");
    Son son2 = new Son("yy");
    System.out.println("2."+son2.str1+"--"+son2.str2+"--"+son2.num1+"--"+son2.num2);

  }
}

輸出結(jié)果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?Cloud?Gateway中netty線程池優(yōu)化示例詳解

    Spring?Cloud?Gateway中netty線程池優(yōu)化示例詳解

    這篇文章主要介紹了Spring?Cloud?Gateway中netty線程池優(yōu)化示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • mybatis-plus分頁(yè)無(wú)效問(wèn)題解決

    mybatis-plus分頁(yè)無(wú)效問(wèn)題解決

    本文主要介紹了mybatis-plus分頁(yè)無(wú)效問(wèn)題解決,原因是配置分頁(yè)插件的版本問(wèn)題,舊版本和新版本的MyBatis-Plus需要不同的分頁(yè)配置,感興趣的可以了解一下
    2025-03-03
  • Java中static變量作用和用法詳解

    Java中static變量作用和用法詳解

    Java 中被 static 修飾的成員稱為靜態(tài)成員或類成員。它屬于整個(gè)類所有,而不是某個(gè)對(duì)象所有,即被類的所有對(duì)象所共享。靜態(tài)成員可以使用類名直接訪問(wèn),也可以使用對(duì)象名進(jìn)行訪問(wèn).下面我們來(lái)詳細(xì)了解一下吧
    2019-06-06
  • spring用戶通過(guò)交互界面登錄成功的實(shí)現(xiàn)

    spring用戶通過(guò)交互界面登錄成功的實(shí)現(xiàn)

    本文主要介紹了spring用戶通過(guò)交互界面登錄成功的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • SpringBoot實(shí)現(xiàn)發(fā)送郵件、發(fā)送微信公眾號(hào)推送功能

    SpringBoot實(shí)現(xiàn)發(fā)送郵件、發(fā)送微信公眾號(hào)推送功能

    這篇文章主要介紹了SpringBoot實(shí)現(xiàn)發(fā)送郵件、發(fā)送微信公眾號(hào)推送功能,這里對(duì)成員變量JavaMailSender使用了@Resource注解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Feign?日期格式轉(zhuǎn)換錯(cuò)誤的問(wèn)題

    Feign?日期格式轉(zhuǎn)換錯(cuò)誤的問(wèn)題

    這篇文章主要介紹了Feign?日期格式轉(zhuǎn)換錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • kafka內(nèi)外網(wǎng)訪問(wèn)配置方式

    kafka內(nèi)外網(wǎng)訪問(wèn)配置方式

    這篇文章主要介紹了kafka內(nèi)外網(wǎng)訪問(wèn)配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 通過(guò)Java實(shí)現(xiàn)在Word中創(chuàng)建可填充表單

    通過(guò)Java實(shí)現(xiàn)在Word中創(chuàng)建可填充表單

    這篇文章主要為大家詳細(xì)介紹了如何通過(guò)Java代碼,以編程方式在Word中創(chuàng)建可填充表單,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-03-03
  • 使用java生成json時(shí)產(chǎn)生棧溢出錯(cuò)誤問(wèn)題及解決方案

    使用java生成json時(shí)產(chǎn)生棧溢出錯(cuò)誤問(wèn)題及解決方案

    這篇文章主要介紹了使用java生成json時(shí)產(chǎn)生棧溢出錯(cuò)誤問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • springboot如何靜態(tài)加載@configurationProperties

    springboot如何靜態(tài)加載@configurationProperties

    這篇文章主要介紹了springboot如何靜態(tài)加載@configurationProperties,本文一個(gè)錯(cuò)誤案例和成功案例結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07

最新評(píng)論

宜城市| 丰台区| 洛扎县| 桂阳县| 襄樊市| 周口市| 德令哈市| 黔西| 浮山县| 巩义市| 白水县| 清水县| 托里县| 松滋市| 施甸县| 罗山县| 永定县| 宁武县| 英山县| 慈利县| 视频| 疏附县| 濮阳市| 南京市| 邯郸县| 正蓝旗| 三门县| 中方县| 南和县| 安平县| 澜沧| 嵊州市| 泰兴市| 石家庄市| 阿拉尔市| 淮北市| 新郑市| 井研县| 平陆县| 昌江| 崇义县|