Constructor là hàm được sử dụng trong lập trình hướng đối tượng (OOP). Trong bài này chúng ta sẽ đi tìm hiểu về Constructor và định nghĩa cũng như hướng dẫn cách sử dụng của nó.
Constructor trong Java là gì?
Hàm Constructor sử dụng để khởi tạo khi một đối tượng được tạo ra. Nó có cùng tên với lớp (Class). Hàm tạo không bao gồm kiểu trả về. Không giống như các phương thức khác, các hàm tạo không thể trả về một giá trị.
Nếu chúng ta không khai báo phương thức khởi tạo trong lớp thì JVM sẽ xây dựng một phương thức khởi tạo mặc định cho lớp đó. Đây được gọi là hàm tạo mặc định.
Hàm tạo có thể sử dụng công cụ sửa đổi truy cập công khai (public), private, protected hoặc mặc định trong Java.
Cú pháp hàm khởi tạo:
class ClassName { ClassName() { } }
Hàm Constructor không có tham số
public class FirstClass { public FirstClass() { System.out.println("Đây là đối tượng FirstClass"); } }
Tiếp theo Dùng từ khóa new
để gọi tới hàm tạo.
public class FirstClass { int number; public FirstClass() { number = 100; } public static void main(String[] args) { FirstClass result = new FirstClass(); System.out.println(result.number); } }
Hàm Constructor có tham số
Với hàm có tham số nó sẽ được đặt ở trong dấu ngoặc kép FirstClass(tham_so) {}
public class FirstClass { int number1; public FirstClass(int number2) { this.number1 = number2; } public static void main(String[] args) { FirstClass result = new FirstClass(50); System.out.println(result.number1); } }
Ví dụ 2:
public class FirstClass { String name; public FirstClass(String myName) { this.name = myName; } public static void main(String[] args) { FirstClass result = new FirstClass("Quach Quynh"); System.out.println(result.name); } }
Trong ví dụ này đầu tiên mình sẽ khai báo một biến là name. Tiếp theo tạo một tham số để truyền vào là myName. Giá trị của name = myName.
Sau đó truyền tham số FirstClass(“Quach Quynh”); và cuối cùng in ra trình duyệt bằng System.out.println(result.name);.
Sự khác nhau giữa Constructor và Method
Sau đây cùng so sánh những điểm khác biệt giữa constructor và phương thức (Method)
Constructor Java | Method Java |
Được dùng khởi tạo trạng thái của một đối tượng. | Được dùng để làm hành vi của đối tượng |
Không có kiểu trả về. | Phải có kiểu trả về. |
Trình biên dịch cung cấp constructor mặc định trong trường hợp không có hàm khởi tạo. | Trình biên dịch không cung cấp method . |
Tên phải giống với Class | Có thể giống hoặc khác |
Được gọi ngầm và rõ ràng | Được gọi rõ ràng |
Với bài viết về Constructor trong Java trên đây bạn đã phần nào hiểu được về lập trình hướng đối tượng. Trong Java, các hàm tạo nhìn khá như các phương thức khác và hoạt động theo cùng một cách. Bạn nên nhớ các quy tắc đặc biệt xung quanh hàm tạo mặc định, nạp chồng và chuỗi hàm tạo.