亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java  Super 用法詳解及實例代碼

 更新時間:2017年03月13日 14:40:34   投稿:lqh  
這篇文章主要介紹了java Super 用法詳解及實例代碼的相關資料,需要的朋友可以參考下

java  Super 用法詳解

 1)有人寫了個很好的初始化屬性的構造函數(shù),而你僅僅想要在其中添加另一些自己新建屬性的初始化,這樣在一個構造函數(shù)中調用另外一個構造函數(shù),可以避免重復的代碼量,減少工作量;

2)在一個構造函數(shù)中調用另外一個構造函數(shù)的時候應該用的是同一塊內(nèi)存空間,在默認的構造函數(shù)中先初始化變量,調用另一個的時候覆寫已經(jīng)初始化的變量的值;

3)整個調用的過程和遞歸調用函數(shù)有點類似,不斷充氣球,直到整個氣球膨脹起來,不斷的深層遞進,遇到停止標記,逐層的跳出來。

     寫了段代碼,解釋我上面的敘述:

class JavanTiger {
  int age;   // 年齡
  int hight;  // 身體高度

  public JavanTiger() {
    print();
    this.age=2;  //這里初始化 age 的值 ,但遞歸返回的時候,這個值會被覆寫
  }
  
  public JavanTiger(int age) {
    this();   // 調用自己的第一個構造函數(shù),下面的兩個語句數(shù)不執(zhí)行的
    this.age = age;
    print();
  }

  public JavanTiger(int age, int hight) {
    this(age);  // 調用自己第二個構造函數(shù) ,下面的兩個語句數(shù)不執(zhí)行的
    this.hight = hight;
    print();
  }

  public void print() { //打印函數(shù)
    System.out.println("I'am a " + age + "歲 " + hight + "尺高 tiger!");
  }
  public static void main(String[] args) {
    new JavanTiger(3,3);
  }
}
//output
//I'am a 0歲 0尺高 tiger!
//I'am a 3歲 0尺高 tiger!
//I'am a 3歲 3尺高 tiger!

      個人理解就是這樣了,可能里面還有問題,比如構造函數(shù)遞歸調用和程序函數(shù)遞歸調用的機制是否似乎相同的?構造函數(shù)同對象一起產(chǎn)生,也就是同時會分配內(nèi)存空間出來,那門這樣的遞歸調用會不會打亂分配內(nèi)存的順序?希望看到的大牛們拍板,給個最好的解釋。

     今天要總結的是 super 這個關鍵字的使用,super 在構造函數(shù)中出現(xiàn)的時候一般是當前這個類繼承了其他的類,super 的出現(xiàn)就是為了調用父類的構造函數(shù),貼段代碼先

class Tiger {
  int age; // 年齡
  int hight; // 身體高度

  public Tiger() {
    print();
  }

  public void print() {
    System.out.println("I'am a " + age + "歲 " + hight + "尺高 tiger!");
  }
}
public class JavanTiger extends Tiger {  
  public JavanTiger() {
    super();  // 調用父類無參數(shù)的構造函數(shù)
  }
  public static void main(String[] args) {
    new JavanTiger();
  }
}

    其實在類JavanTiger 中的構造函數(shù)中的 super()可以不寫,JAVA會默認調用父類的無參數(shù)的構造函數(shù),但如果父類沒有定義無參數(shù)的構造函數(shù),沒有語法錯誤,程序會自動退出,沒有任何打印語句,這時候你需要手動調用其他父類的構造函數(shù),貼段代碼:

class Tiger {
  int age; // 年齡
  int hight; // 身體高度

  public Tiger(int age) {
  this.age = age;
  print();
  }
  public void print() {
    System.out.println("I'am a " + age + "歲 " + hight + "尺高 tiger!");
  }
}
public class JavanTiger extends Tiger {  
  public JavanTiger() {
    super(1);  // 調用父類有參數(shù)的構造函數(shù)
  }
  public static void main(String[] args) {
    new JavanTiger();
  }
}

      這段代碼中的 super(1)必須要寫進去,否則編譯器會報錯。所以我簡單的總結了一下,“this()是調用自己其他的構造函數(shù),super()是調用自己繼承的父類的構造函數(shù)“,如果只想調用默認無參數(shù)的父類構造函數(shù),不用在子類的構造函數(shù)當中寫出來,但是實際編程的時候,總是會忽略這一點。

     那門這兩個關鍵字能不能同時出現(xiàn)在子類的一個構造函數(shù)當中納?答案肯定是不能。先說下自己的理解:

1)在新建一個基類的時候,不論遞歸調用幾次自身的構造函數(shù),最終你都會去調用父類的構造函數(shù),(不是顯式調用的話,系統(tǒng)會調用默認無參數(shù)的父類構造函數(shù));

2)JAVA 中規(guī)定使用 this 和 super 時必須放在構造函數(shù)第一行,只有一個第一行;

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • 通過入門demo簡單了解netty使用方法

    通過入門demo簡單了解netty使用方法

    這篇文章主要介紹了通過入門demo簡單了解netty使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • java后臺驗證碼生成的實現(xiàn)方法

    java后臺驗證碼生成的實現(xiàn)方法

    在我們使用進行系統(tǒng)開發(fā)時,為了提高系統(tǒng)的安全性,在登錄的時候多數(shù)人都會要求輸入驗證,本文介紹了java后臺驗證碼生成的實現(xiàn)方法,感興趣的一起來了解一下
    2021-05-05
  • java普通類如何轉javafx程序

    java普通類如何轉javafx程序

    這篇文章主要介紹了java普通類如何轉javafx程序方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 淺析SpringBoot中使用thymeleaf找不到.HTML文件的原因

    淺析SpringBoot中使用thymeleaf找不到.HTML文件的原因

    這篇文章主要介紹了SpringBoot中使用thymeleaf找不到.HTML文件的原因分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Java中的functor實現(xiàn)

    Java中的functor實現(xiàn)

    Java中的functor實現(xiàn)...
    2006-12-12
  • idea搭建mybatis環(huán)境配置全過程

    idea搭建mybatis環(huán)境配置全過程

    本文介紹了如何以IDEA搭建MyBatis環(huán)境配置的方法,包括步驟和注意事項,通過本文的介紹,可以輕松地以IDEA搭建MyBatis環(huán)境配置,提高開發(fā)效率
    2023-10-10
  • MyBatis @Param注解的實現(xiàn)

    MyBatis @Param注解的實現(xiàn)

    本文主要介紹了MyBatis @Param注解的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • Java實現(xiàn)升級版布谷鳥闖關游戲的示例代碼

    Java實現(xiàn)升級版布谷鳥闖關游戲的示例代碼

    升級版布谷鳥闖關游戲是一個基于java的布谷鳥闖關游戲,鼠標左鍵點擊控制鳥的位置穿過管道間的縫隙。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-02-02
  • shenyu怎么處理sign鑒權前置到網(wǎng)關

    shenyu怎么處理sign鑒權前置到網(wǎng)關

    這篇文章主要為大家介紹了shenyu怎么處理sign鑒權前置到網(wǎng)關方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Maven pom.xml 添加本地jar包依賴以及打包方法

    Maven pom.xml 添加本地jar包依賴以及打包方法

    這篇文章主要介紹了Maven pom.xml 添加本地jar包依賴以及打包方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09

最新評論