Constructor là gì?
Trong Java, constructor là một block of code (khối lệnh), gần giống như một method (phương thức) trong Java. Constructor sẽ được gọi khi có một class được tạo. Cùng thời điểm gọi constructor, object (đối tượng) cũng được cấp phát bộ nhớ.
Có thể nói, constructor giống như một method đặc biệt để khởi tạo object (đối tượng).
Để tạo được object (đối tượng), sử dụng từ khóa new(), lúc này sẽ gọi đến ít nhất 1 constructor. Java sẽ compiler default constructor (constructor mặc định) khi không có constructor nào khác ở class.
Lưu ý khi tạo Constructor
Sau đây là một số quy ước khi tạo constructor:
- Tên Java Constructor phải giống với tên class của constructor
- Một Java Constructor không được có giá trị trả về
- Một Java Constructor không thể là abstract, static, final
Cách loại Constructor trong Java
Có 2 loại constructor trong Java:
- Default constructor (constructor mặc định)
- Parameterized constructor
1. Default constructor (constructor không tham số)
Default constructor là constructor mặc định. Constructor default không có tham số. Constructor default sẽ được gọi đến khi khởi tạo object.
Ví dụ về class Student có constructor không tham số là public Student() { }
- Tên constructor giống với tên của class
- Không có tham số trả về
Câu hỏi: Tại sao cần phải có default constructor?
Trả lời: Default constructor được sử dụng để cung cấp giá trị mặc định cho object. Ví dụ như: 0, null, … phụ thuộc vào từng loại kiểu dữ liệu.
2. Parameterized constructor (constructor có tham số)
Parameterized constructor là constructor có tham số. Được sử dụng để cung cấp các gia trị khác nhau cho object (đối tượng). Tuy nhiên, bạn có thể cung cấp cùng giá trị.
Ví dụ class Student, có constructor có tham số là public Student(String studentName, String studentRoll). Constructor có tên giống với tên của class và có 2 tham số là studentName, studentRoll
Constructor là phần quan trọng với ngôn ngữ lập trình Java. Là xương sống để thao tác với các đối tượng. Bạn nên tìm hiểu, luyện tập và nắm vững kiến thức về constructor để làm việc dễ dàng hơn với Java.
Đọc thêm về Java: Tìm hiểu về nguồn gốc ra đời của ngôn ngữ Java.