Trong Java, một constructor (hàm tạo) là một khối mã đặc biệt được thiết kế để khởi tạo một đối tượng. Constructor có tên giống hệt với tên của class và không có kiểu trả về, kể cả void. Constructor được tự động gọi khi một đối tượng mới của class được tạo ra thông qua từ khóa new. Mục đích chính của constructor là thiết lập các giá trị ban đầu cho các thuộc tính của đối tượng.
Đặc điểm của Constructor:
- Tên Constructor: Giống với tên class mà nó thuộc về.
- Không có kiểu trả về: Không thậm chí là void.
- Khởi tạo đối tượng: Thiết lập trạng thái ban đầu của đối tượng bằng cách gán giá trị cho các thuộc tính.
- Tự động gọi: Khi tạo một đối tượng mới.
Các loại Constructor:
- Default Constructor: Nếu bạn không tự mình viết một constructor nào trong class của mình, Java sẽ cung cấp một default constructor không có tham số và không làm gì cả ngoài việc gọi constructor của superclass.
- No-arg Constructor: Là constructor được bạn định nghĩa mà không có tham số nào. Điều này khác với default constructor do nó cho phép bạn thực hiện các hành động khởi tạo cụ thể nào đó.
- Parameterized Constructor: Là constructor có một hoặc nhiều tham số. Sử dụng để cung cấp các giá trị đặc biệt và khác nhau cho các đối tượng khi chúng được tạo.
Ví dụ:
class Car {
String brand;
int year;
// Parameterized Constructor
Car(String b, int y) {
brand = b;
year = y;
}
}
public class TestCar {
public static void main(String[] args) {
// Tạo đối tượng 'myCar' bằng constructor với tham số
Car myCar = new Car("Toyota", 2020);
System.out.println(myCar.brand + " " + myCar.year); // Output: Toyota 2020
}
}
Trong ví dụ trên, Car(String b, int y) là một constructor parameterized, được sử dụng để tạo một đối tượng Car với brand và year cụ thể. Constructor giúp khởi tạo trạng thái của đối tượng ngay khi nó được tạo, làm cho mã nguồn dễ đọc và bảo trì hơn.
Comments