Hàm tạo trong Java - Mọi điều cần biết về hàm tạo Java
22/05/2021 01:33
(Hàm tạo trong Java) Trong hướng dẫn về Java này, chúng ta sẽ thảo luận mọi thứ mà bạn phải biết về Constructor - Hàm tạo trong Java, sự cần thiết của các hàm tạo, kiểu của nó và các quy tắc để viết các hàm tạo trong Java. Chúng ta cũng sẽ xem các phương thức khác với các hàm tạo trong Java như thế nào.
Hàm tạo trong Java
Constructor trong Java là một khối mã tạo ra một đối tượng. Chúng ta cũng có thể gọi nó là một Object Builder. Chúng tương tự như các phương thức trong Java nhưng khác với các phương thức ở chỗ chúng không có kiểu trả về như các phương thức.
Tại sao cần sử dụng hàm tạo trong Java
Hàm tạo là một hàm thành viên của một lớp được gọi để khởi tạo các đối tượng khi chúng ta tạo một đối tượng của lớp đó. Nó là một loại phương thức đặc biệt để khởi tạo một đối tượng mới được tạo và ngay sau khi việc cấp phát bộ nhớ của đối tượng này diễn ra, hàm khởi tạo được gọi. Tên của hàm tạo trùng với tên của lớp và công việc chính của nó là khởi tạo đối tượng với giá trị ban đầu hợp pháp cho lớp. Các lập trình viên Java không cần thiết phải viết một phương thức khởi tạo cho một lớp.
>>> Tham khảo: Khóa học lập trình Java
Tại sao cần sử dụng hàm tạo trong Java
Chúng ta có thể sử dụng các hàm tạo khi chúng ta muốn gán giá trị cho các biến lớp tại thời điểm tạo đối tượng. Để hiểu tầm quan trọng của hàm tạo, bạn có thể xem qua ví dụ dưới đây.
Giả sử có một Bảng - Table. Nếu chúng ta tạo một lớp có tên Apple , thì nó sẽ có một số biến lớp như hình dạng, màu sắc và mùi vị. Nhưng, khi chúng ta tạo một đối tượng thuộc lớp Apple, bây giờ Apple sẽ nằm trong bộ nhớ của máy tính. Chúng ta có thể định nghĩa một lớp Apple không có giá trị được xác định cho các thuộc tính của nó không? Chắc chắn là không.
Do vậy, các hàm tạo cho phép chúng ta xác định các giá trị trong khi tạo các đối tượng. Chúng ta có thể tạo một phương thức khởi tạo một cách rõ ràng thông qua lập trình và nếu chúng ta không định nghĩa nó một cách rõ ràng, thì trình biên dịch Java sẽ tự định nghĩa hàm tạo mặc định.
Quy tắc để viết hàm tạo trong Java
Sau đây là một số quy tắc để viết hàm tạo trong Java:
- Tên của hàm tạo phải giống với tên của lớp của nó.
- Một hàm tạo không được có kiểu trả về.
- Chúng ta có thể sử dụng các công cụ sửa đổi quyền truy cập với một hàm tạo để kiểm soát quyền truy cập của nó để các lớp khác có thể gọi hàm tạo.
- Chúng ta không thể khai báo một hàm tạo là hàm cuối cùng, trừu tượng, trừu tượng và đồng bộ hóa.
Cú pháp hàm tạo trong Java
Một hàm tạo có cùng tên với lớp và chúng ta có thể viết một hàm tạo như sau:
public class MyClass
{
//This is the Constructor
MyClass()
{
//Constructor body
}
..
}
Cách Hàm tạo hoạt động trong Java
Hãy lấy một ví dụ để hiểu hoạt động của một hàm tạo. Giả sử chúng ta có một lớp tên là MyClass. Khi chúng ta khởi tạo hoặc tạo đối tượng của MyClass, nó sẽ giống như sau:
MyClass obj = new MyClass();
>>> Đọc thêm: Lớp Wrapper trong Java - Khái niệm LTV Java phải biết
Các loại mã lệnh trong Java
Hàm tạo mặc định
Một hàm tạo mặc định là một hàm tạo không có tham số. Trình biên dịch Java sẽ tự động tạo một constructor mặc định nếu chúng ta không viết hàm tạo trong chương trình của mình.
Hàm tạo mặc định này không có trong mã nguồn của bạn hoặc tệp java vì trình biên dịch tự động đưa nó vào mã Java trong quá trình biên dịch và do đó chúng ta không thể tìm thấy nó trong tệp java của mình, thay vào đó nó tồn tại trong bytecode hoặc .class tập tin. Hình sau cho thấy quá trình này:
Nếu chúng ta không cung cấp hàm tạo do người dùng xác định trong một lớp, trình biên dịch sẽ khởi tạo các biến thành viên thành các giá trị mặc định của nó như:
- kiểu dữ liệu số được đặt thành 0
- kiểu dữ liệu char được đặt thành ký tự rỗng ('\ 0')
- biến tham chiếu được đặt thành null
Hàm tạo tham số
Một phương thức khởi tạo được tham số hóa là một phương thức khởi tạo có một số tham số cụ thể. Chúng ta có thể sử dụng phương thức khởi tạo được tham số hóa chủ yếu để khởi tạo các thành viên của lớp với các giá trị hoặc đối tượng khác nhau.
>>> Đọc thêm: Từ khóa trong Java - Tìm hiểu từ A-Z các từ khóa riêng trong Java
Sự khác biệt giữa hàm tạo và phương thức trong Java
Những điểm sau đây giải thích sự khác biệt giữa hàm tạo và phương thức trong Java.
- Hàm tạo là một khối mã khởi tạo một đối tượng mới được tạo, trong khi một phương thức là một tập hợp các câu lệnh luôn trả về giá trị tùy thuộc vào việc thực thi nó.
- Tên của hàm tạo phải giống với tên lớp. Mặt khác, tên của phương thức không được giống với tên lớp.
- Các hàm tạo được gọi ngầm định, trong khi chúng ta gọi các phương thức một cách rõ ràng.
- Một phương thức khởi tạo không được có bất kỳ kiểu trả về nào, thậm chí không phải là void, nhưng các phương thức phải có kiểu trả về.
- Trình biên dịch tự động tạo phương thức khởi tạo nếu không có hàm tạo nào trong lớp. Tuy nhiên, trong trường hợp của phương thức, không có phương thức mặc định nào được cung cấp bởi trình biên dịch.
- Chúng ta có thể ghi đè một phương thức nhưng không thể ghi đè một phương thức khởi tạo.
Điểm quan trọng cần chú ý
- Các hàm tạo được gọi ngầm định khi chúng ta khởi tạo các đối tượng bằng toán tử mới.
- Hai quy tắc để tạo một hàm tạo là:
- Tên của một tên phương thức khởi tạo Java phải khớp chính xác với tên lớp.
- Một hàm tạo Java không được có kiểu trả về.
- Nếu không có hàm tạo nào trong một lớp thì trình biên dịch Java sẽ tự động tạo một hàm tạo mặc định trong quá trình biên dịch.
- Chúng ta không thể khai báo các hàm tạo là trừu tượng, đồng bộ hóa, tĩnh hoặc cuối cùng.
- Chúng ta có thể ghi đè một phương thức khởi tạo nhưng chúng ta không thể ghi đè một phương thức khởi tạo.
- Mỗi lớp đều có một phương thức khởi tạo cho dù đó là lớp cụ thể hay lớp trừu tượng.
- Một hàm tạo có thể sử dụng bất kỳ mã xác định truy cập nào.
- Các giao diện không thể có hàm tạo.
Kết luận:
Constructors rất hữu ích để khởi tạo một đối tượng. Chúng tương tự như các phương thức nhưng có một số khác biệt mà T3H đã đề cập trong bài viết này. Đó là tất cả về Java Constructor - Hàm tạo trong Java. Đến với phần cuối của bài viết này, hy vọng bạn đã học cách tạo một hàm tạo trong Java cùng với hoạt động của nó. Cảm ơn bạn đã đọc bài viết của chúng tôi. Tìm hiểu thêm về Java và các ngôn ngữ lập trình qua các khóa học lập trình tại tại Viện công nghệ thông tin T3H bạn nhé!
Tham khảo: Techvivand