Video: Java Cơ Bản 33 Constructor Java 2025
constructor trong Java là một khối mã tương tự như một phương thức được gọi khi một cá thể của một đối tượng được tạo ra. Đây là những khác biệt chính giữa một constructor và một method:
-
Một constructor không có kiểu trả về.
-
Tên của nhà xây dựng phải giống với tên của lớp.
-
Không giống phương pháp, nhà xây dựng không được coi là thành viên của một lớp học.
-
Một constructor được gọi tự động khi một cá thể mới của một đối tượng được tạo ra.
Đây là định dạng cơ bản cho việc mã hóa một constructor:
Public ClassName (parameter-list) [throws exception …] {statements …}
Từ khoá public chỉ ra rằng các lớp khác có thể truy cập constructor. ClassName phải giống như tên của lớp chứa constructor. Bạn mã danh sách các tham số theo cùng một cách mà bạn mã nó cho một phương pháp.
Chú ý rằng một nhà xây dựng có thể ném ngoại lệ nếu nó gặp tình huống mà nó không thể phục hồi được.
Nhà xây dựng cho phép bạn cung cấp các giá trị ban đầu cho các trường lớp khi bạn tạo đối tượng. Giả sử bạn có một lớp có tên Actor có các trường có tên firstName và lastName. Bạn có thể tạo một constructor cho lớp Actor:
diễn viên công cộng (Chuỗi đầu tiên, Chuỗi cuối cùng) {firstName = first; lastName = last;}
Sau đó bạn tạo một thể hiện của lớp Actor bằng cách gọi constructor này:
Diễn viên a = diễn viên mới ("Arnold", "Schwarzenegger");
Một đối tượng Diễn viên mới cho Arnold Schwarzenegger được tạo ra.
Giống như phương pháp, nhà thầu có thể bị quá tải. Nói cách khác, bạn có thể cung cấp nhiều hơn một constructor cho một lớp nếu mỗi constructor có một chữ ký duy nhất. Đây là một hàm dựng khác cho lớp Actor:
diễn viên công cộng (Chuỗi đầu tiên, Chuỗi cuối, boolean tốt) {firstName = first; lastName = cuối cùng; GoodActor = good;}
Nhà xây dựng này cho phép bạn tạo ra một đối tượng Actor với thông tin bên cạnh tên của diễn viên:
Actor a = new Actor ("Arnold", "Schwarzenegger", false);
Nếu bạn không cung cấp một constructor cho một lớp, Java sẽ tự động tạo một constructor mặc định mà không có tham số và không khởi tạo bất kỳ trường nào. Nhà xây dựng mặc định này được gọi là nếu bạn chỉ định từ khoá mới mà không cần thông qua các tham số. Ví dụ:
Ball b = new Ball ();
Ở đây, một biến kiểu Ball được tạo ra bằng cách sử dụng constructor mặc định cho lớp Ball.
Nếu bạn tuyên bố rõ ràng bất kỳ nhà xây dựng nào cho một lớp, Java không không tạo ra một hàm tạo mặc định cho lớp.Kết quả là, nếu bạn khai báo một constructor chấp nhận các tham số và vẫn muốn có một constructor trống (không có tham số và không có body), bạn phải khai báo rõ ràng một constructor trống cho lớp.