Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java程序構(gòu)造函數(shù)中調(diào)用另一個構(gòu)造函數(shù)

Java 實例大全

在此示例中,我們將學習如何在Java中從一個構(gòu)造函數(shù)調(diào)用另一個構(gòu)造函數(shù)。

要理解此示例,您應(yīng)該了解以下Java編程主題:

示例1:Java程序從一個構(gòu)造函數(shù)調(diào)用另一個構(gòu)造函數(shù)

class Main {

  int sum;

  //第一個構(gòu)造函數(shù)
  Main() {
    //調(diào)用第二個構(gòu)造函數(shù)
    this(5, 2);
  }

  //第二個構(gòu)造函數(shù)
  Main(int arg1, int arg2) {
    //兩個值相加
    this.sum = arg1 + arg2;
  }

  void display() {
    System.out.println("總和: " + sum);
  }

  // main 類
  public static void main(String[] args) {

    // 調(diào)用第一個構(gòu)造函數(shù)
    Main obj = new Main();

    // 調(diào)用顯示方法
    obj.display();
  }
}

輸出結(jié)果

總和: 7

在上面的示例中,我們創(chuàng)建了一個名為Main的類。在這里,您在Main類內(nèi)部創(chuàng)建了兩個構(gòu)造函數(shù)。

Main() {..}

Main(int arg1, int arg2) {...}

在第一個構(gòu)造函數(shù)中,我們使用了 this 關(guān)鍵字來調(diào)用第二個構(gòu)造函數(shù)。

this(5, 2);

在這里,通過傳遞參數(shù) 5 和 2 從第一個構(gòu)造函數(shù)調(diào)用第二個構(gòu)造函數(shù)。

注意:構(gòu)造函數(shù)中調(diào)用另一個構(gòu)造函數(shù)的行,應(yīng)為該構(gòu)造函數(shù)的第一行。也就是說,this(5, 2)應(yīng)該是 Main() 的第一行。

示例2:從子類的構(gòu)造函數(shù)調(diào)用超類的構(gòu)造函數(shù)

我們還可以使用super(),從子類的構(gòu)造函數(shù)中調(diào)用超類的構(gòu)造函數(shù)。

// 超類
class Languages {

  //超類的構(gòu)造函數(shù)
  Languages(int version1, int version2) {

    if (version1 > version2) {
      System.out.println("最新版本是: " + version1);
    }

    else {
      System.out.println("最新版本是: " + version2);
    }

  }
}

//子類
class Main extends Languages {

  //子類的構(gòu)造函數(shù)
  Main() {
    //調(diào)用超類的構(gòu)造函數(shù)lass
    super(11, 8);
  }

  // main 方法
  public static void main(String[] args) {

    // 調(diào)用第一個構(gòu)造函數(shù)
    Main obj = new Main();

  }
}

輸出結(jié)果

最新版本是: 11

在上面的示例中,我們創(chuàng)建了一個名為Languages的超類和一個Main子類。 在Main類的構(gòu)造函數(shù)中,請注意以下行:

super(11, 8);

在這里,我們從子類(Main())的構(gòu)造函數(shù)中調(diào)用超類的構(gòu)造函數(shù)(即Languages(int version1,int version2))。

Java 實例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清