Trong ví dụ này, chúng ta sẽ học cách gọi một hàm tạo từ một hàm tạo khác trong Java.
Để hiểu ví dụ này, bạn nên có kiến thức về các chủ đề lập trình Java sau:
- Trình tạo Java
- Phương thức Java
Ví dụ 1: Chương trình Java để gọi một hàm tạo từ một hàm tạo khác
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(); ) )
Đầu ra
Tổng là: 7
Trong ví dụ trên, chúng ta đã tạo một lớp có tên là Main. Ở đây, bạn đã tạo hai hàm tạo bên trong lớp Chính.
Main() (… ) Main(int arg1, int arg2) (… )
Bên trong hàm tạo đầu tiên, chúng ta đã sử dụng this
từ khóa để gọi hàm tạo thứ hai.
this(5, 2);
Ở đây, hàm tạo thứ hai được gọi từ hàm tạo đầu tiên bằng cách truyền các đối số 5 và 2 .
Lưu ý : Dòng bên trong một hàm tạo gọi một hàm tạo khác phải là dòng đầu tiên của hàm tạo. Đó là, this(5, 2)
nên là dòng đầu tiên của Main()
.
Ví dụ 2: Gọi hàm tạo của lớp cha từ hàm tạo của lớp con
Chúng ta cũng có thể gọi hàm tạo của lớp cha từ hàm tạo của lớp con bằng cách sử dụng 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(); ) )
Đầu ra
Phiên bản mới nhất là: 11
Trong ví dụ trên, chúng ta đã tạo một lớp cha có tên là Languages và một lớp con Main. Bên trong hàm tạo của lớp Main, hãy lưu ý dòng,
super(11, 8);
Ở đây, chúng ta đang gọi hàm tạo của lớp cha (tức là Languages(int version1, int version2)
) từ hàm tạo của lớp con ( Main()
).