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);

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

注意:在构造函数中调用另一个构造函数的行应该是该构造函数的第一行。也就是说,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))。

 

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战