Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java程序构造函数中调用另一个构造函数

Java 实例大全

在此示例中,我们将学习如何在Java中从一个构造函数调用另一个构造函数。

要理解此示例,您应该了解以下Java编程主题:

示例1:Java程序从一个构造函数调用另一个构造函数

class Main {

  int sum;

  //第一个构造函数
  Main() {
    //调用第二个构造函数
    this(5, 2);
  }

  //第二个构造函数
  Main(int arg1, int arg2) {
    //两个值相加
    this.sum = arg1 + arg2;
  }

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

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

    // 调用第一个构造函数
    Main obj = new Main();

    // 调用显示方法
    obj.display();
  }
}

输出结果

总和: 7

在上面的示例中,我们创建了一个名为Main的类。在这里,您在Main类内部创建了两个构造函数。

Main() {..}

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

在第一个构造函数中,我们使用了 this 关键字来调用第二个构造函数。

this(5, 2);

在这里,通过传递参数 5 和 2 从第一个构造函数调用第二个构造函数。

注意:构造函数中调用另一个构造函数的行,应为该构造函数的第一行。也就是说,this(5, 2)应该是 Main() 的第一行。

示例2:从子类的构造函数调用超类的构造函数

我们还可以使用super(),从子类的构造函数中调用超类的构造函数。

// 超类
class Languages {

  //超类的构造函数
  Languages(int version1, int version2) {

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

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

  }
}

//子类
class Main extends Languages {

  //子类的构造函数
  Main() {
    //调用超类的构造函数lass
    super(11, 8);
  }

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

    // 调用第一个构造函数
    Main obj = new Main();

  }
}

输出结果

最新版本是: 11

在上面的示例中,我们创建了一个名为Languages的超类和一个Main子类。 在Main类的构造函数中,请注意以下行:

super(11, 8);

在这里,我们从子类(Main())的构造函数中调用超类的构造函数(即Languages(int version1,int version2))。

Java 实例大全