Constructor trong java là một dạng đặc biệt của phương thức được sử dụng để khởi tạo các đối tượng.
Java Constructor được gọi tại thời điểm tạo đối tượng. Nó khởi tạo các giá trị để cung cấp dữ liệu cho các đối tượng, đó là lý do tại sao nó được gọi là constructor.
Có 2 quy tắc cơ bản cho việc tạo constructor:
Có 2 kiểu của constructor
Một constructor mà không có tham số được gọi là constructor mặc định.
Cú pháp của constructor mặc định:
1 2 3 |
|
Ví dụ về constructor mặc định:
1 2 3 4 5 6 7 8 |
|
Output:
Bike is created
Quy tắc: Nếu không có constructor trong một lớp, trình biên dịch sẽ tự động tạo một constructor mặc định trong lớp đó.
Constructor mặc định cung cấp các giá trị mặc định như 0, null, (tùy thuộc vào kiểu dữ liệu) ... tới đối tượng được khởi tạo.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Output:
0 null 0 null
Giải thích: Trong ví dụ trên, bạn không tạo bất kỳ constructor nào, vì vậy trình biên dịch tự động tạo một constructor mặc định cho bạn. Giá trị 0 và null được cung cấp bởi constructor mặc định đó.
Một constructor có tham số truyền vào được gọi là constructor tham số.
Constructor tham số được sử dụng để cung cấp các giá trị khác nhau cho các đối tượng khác nhau.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Output:
111 Viet 222 Tuts
Constructor Overloading là một kỹ thuật trong Java. Bạn có thể tạo nhiều constructor trong cùng một lớp với danh sách tham số truyền vào khác nhau. Trình biên dịch phân biệt các constructor này thông qua số lượng và kiểu của các tham số truyền vào.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
Output:
111 Viet 0 222 Tuts 25
Constructor |
Phương thức |
---|---|
Constructor được sử dụng để khởi tạo trạng thái của một đối tượng. |
Phương thức được sử dụng để thể hiện hành động của một đối tượng. |
Constructor không có kiểu trả về. |
Phương thức có kiểu trả về. |
Constructor được gọi ngầm. |
Phương thức được gọi tường minh. |
Trình biên dịch Java tạo ra constructor mặc định nếu bạn không có constructor nào. |
Phương thức không được tạo ra bởi trình biên dịch Java. |
Tên của constructor phải giống tên lớp. |
Tên phương thức có thể giống hoặc khác tên lớp. |
Nguồn tin: viettuts