Java教程

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

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

在这个例子中,我们将学习如何在 Java 中从另一个构造函数调用一个构造函数。
要理解此示例,您应该了解以下Java 编程主题:
Java 构造函数 Java 方法

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

class Main {
  int sum;
  // first constructor
  Main() {
    // calling the second constructor
    this(5, 2);
  }
  // second constructor
  Main(int arg1, int arg2) {
    // add two value
    this.sum = arg1 + arg2;
  }
  void display() {
    System.out.println("Sum is: " + sum);
  }
  // main class
  public static void main(String[] args) {
    // call the first constructor
    Main obj = new Main();
    // call display method
    obj.display();
  }
}
输出
Sum is: 7
在上面的例子中,我们创建了一个名为 Main 的类。在这里,您在 Main 类中创建了两个构造函数。
Main() {..}
Main(int arg1, int arg2) {...}
在第一个构造函数中,我们使用了 this关键字来调用第二个构造函数。
this(5, 2);
这里,通过传递参数5和2从第一个构造函数调用第二个构造函数。
注意: 构造函数中调用另一个构造函数的行应该是构造函数的第一行。也就是说, this(5, 2) 应该是 Main() 的第一行。

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

我们也可以使用 super()从子类的构造函数中调用超类的构造函数。
// superclass
class Languages {
  // constructor of the superclass
  Languages(int version1, int version2) {
    if (version1 > version2) {
      System.out.println("The latest version is: " + version1);
    }
    else {
      System.out.println("The latest version is: " + version2);
    }
  }
}
// child class
class Main extends Languages {
  // constructor of the child class
  Main() {
    // calling the constructor of super class
    super(11, 8);
  }
  // main method
  public static void main(String[] args) {
    // call the first constructor
    Main obj = new Main();
  }
}
输出
The latest version is: 11
在上面的例子中,我们创建了一个名为 Languages 的超类和一个子类 Main。在 Main 类的构造函数中,注意这一行,
super(11, 8);
这里,我们从子类的构造函数( Main())调用超类的构造函数(即 Languages(int version1, int version2))。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4