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

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

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

一、總結(jié)

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

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

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

二、分析

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

  子類對象中包含一個父類對象

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

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

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

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

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

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

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

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

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

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

三、實例

package yang.polymorphic;

class Father{
  public String str1;
  public int num1;

  Father(){
    System.out.println("父類無參構(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)造方法時,會默認加上super()
    System.out.println("子類無參構(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é)果:

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

相關(guān)文章

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

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

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

    mybatis-plus分頁無效問題解決

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

九江县| 大兴区| 堆龙德庆县| 芜湖市| 宁晋县| 那曲县| 黄浦区| 克东县| 武川县| 诸暨市| 朝阳县| 房产| 阳泉市| 忻城县| 叙永县| 高淳县| 昌图县| 托里县| 宝丰县| 辽阳县| 博野县| 皋兰县| 公安县| 霍林郭勒市| 平江县| 芷江| 高要市| 南丰县| 安福县| 古丈县| 聂荣县| 灌南县| 宝兴县| 凌源市| 临朐县| 奎屯市| 平邑县| 武城县| 宁夏| 利川市| 德阳市|