Thông thường, để tránh viết mã khởi tạo trùng lặp, cần phải gọi mã của hàm tạo này từ hàm tạo khác.
Đây là một ví dụ về cách thực hiện việc này:
public class SomeClass {
int a;
int b;
int c;
public SomeClass(int a, int b){
this.a = a;
this.b = b;
}
public SomeClass(int a, int b, int c){
// Вызов конструктора с двумя параметрами.
this(a, b);
this.c = c;
}
public void show(){
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
Như bạn có thể thấy, để làm điều này, chúng tôi sử dụng từ khóa this
, sau đó chúng tôi chỉ ra trong ngoặc đơn các tham số cho hàm tạo tương ứng (với hai tham số trong trường hợp này). Bạn có thể gọi một hàm tạo từ một hàm tạo khác trong cùng một lớp hoặc trong một siêu lớp với các hạn chế sau:
- Hàm tạo được gọi phải nằm ở dòng mã đầu tiên trong hàm tạo gọi.
- Hàm tạo lồng nhau không thể có bất kỳ tham chiếu rõ ràng hoặc ngầm định nào đến "cái này". Vì vậy, bạn không thể vào lớp bên trong.
GO TO FULL VERSION