Constructor trong Java là gì? | TopDev

bài viết được sự cho phép của tác giả nguyen huu khanh

Trong bài viết này, tất cả chúng ta sẽ khám phá về hàm tạo của một đối tượng người tiêu dùng, cách tạo chúng, sự độc lạ giữa hàm tạo mặc định và hàm tạo đã xác lập của tất cả chúng ta, và sau cuối, hàm tạo quá tải là gì. những bạn !
Bạn đang xem : Constructor là gì

định nghĩa hàm tạo

Trong java, hàm tạo là một phương thức đặc biệt, nó được sử dụng để khởi tạo và trả về đối tượng của lớp mà nó được định nghĩa. hàm tạo sẽ có cùng tên với lớp mà nó được định nghĩa và không được xác định kiểu trả về.

ví dụ :
Trong ví dụ trên, chúng tôi đã xác lập một hàm tạo cho đối tượng người tiêu dùng student, vì bạn hoàn toàn có thể thấy nó không có kiểu trả về và tên của nó giống với lớp mà nó được định nghĩa .

Khi một đối tượng được khởi tạo bằng cách gọi phương thức khởi tạo của nó với toán tử new , nó sẽ gọi phương thức khởi tạo của lớp cha và tất cả các biến thể hiện sẽ được khởi tạo thành giá trị mặc định của chúng. Quay lại ví dụ trước, bằng cách khởi tạo đối tượng student bằng cách gọi:

thì giá trị của biến age trong đối tượng người dùng student sẽ có giá trị mặc định là kiểu int là 0 .

hàm tạo mặc định

nếu tất cả chúng ta không xác lập bất kể hàm tạo nào trên một đối tượng người tiêu dùng thì theo mặc định, java sẽ thêm một hàm tạo mặc định vào đối tượng người dùng của tất cả chúng ta .
ví dụ, tôi định nghĩa đối tượng người dùng sinh viên như sau :
Bây giờ, tôi hoàn toàn có thể khởi tạo đối tượng người tiêu dùng student như sau :
Xem thêm : Bình phong là gì ? Ý nghĩa của bình phong trong tử vi & phong thủy
Rõ ràng là bạn sẽ thấy, mặc dầu tôi không xác lập bất kể hàm tạo nào trên đối tượng người dùng student, tôi vẫn hoàn toàn có thể khởi tạo đối tượng người dùng này .
phương pháp khởi tạo mặc định
sẽ không chứa bất kể tham số nào và khi nó được gọi để khởi tạo đối tượng người dùng, nó cũng gọi phương pháp khởi tạo lớp cha và khởi tạo những giá trị mặc định cho những biến thành viên .
trong trường hợp chúng tôi đã xác lập một hàm tạo cho đối tượng người dùng :
sau đó java sẽ không tự động hóa thêm hàm tạo mặc định nữa và sau đó nếu tất cả chúng ta nỗ lực khởi tạo đối tượng người tiêu dùng bằng hàm tạo mặc định, tất cả chúng ta sẽ ngay lập tức gặp lỗi biên dịch :

Constructor trong Java là gì?

xác định một hàm tạo

tất cả chúng ta hoàn toàn có thể xác lập một hàm tạo cho bất kể đối tượng người tiêu dùng nào, sau đó tổng thể những thuộc tính của đối tượng người tiêu dùng, gồm có những phương pháp, những biến bộc lộ hoàn toàn có thể được gọi theo định nghĩa của tất cả chúng ta .

p>

ví dụ :
Chúng tôi hoàn toàn có thể sử dụng bốn công cụ sửa đổi quyền truy vấn để xác lập một hàm tạo và thế cho nên chúng tôi hoàn toàn có thể số lượng giới hạn khoanh vùng phạm vi truy vấn vào đối tượng người dùng từ những đối tượng người dùng khác .
điều gì sẽ xảy ra nếu tất cả chúng ta xác lập một hàm tạo có kiểu giá trị trả về ? thì java sẽ coi nó như một phương pháp thông thường và không phải là một phương pháp khởi tạo .
ví dụ :
Xem thêm : Hướng dẫn cài geo slope 2007
đối tượng người dùng student giờ đây chỉ có một hàm tạo mặc định được java thêm vào. nếu tất cả chúng ta khởi tạo đối tượng người dùng student bằng một tham số name, nó sẽ bị lỗi ngay lập tức .

Constructor trong Java là gì?

hàm tạo quá tải

Hàm tạo quá tải
​ ​ là gì ? đây là khi tất cả chúng ta xác lập nhiều hàm tạo cho một đối tượng người dùng và mỗi hàm tạo sẽ có những tham số khác nhau cả về số lượng tham số và kiểu tài liệu của tham số .
ví dụ :
quy tắc để xác lập một hàm tạo được nạp chồng là :
Các hàm tạo

  • , như tôi đã nói, phải được xác định bằng cách sử dụng các tham số khác nhau về cả số lượng tham số và kiểu dữ liệu của tham số.
  • các hàm tạo không thể định nghĩa chỉ khác nhau trong công cụ sửa đổi truy cập.

Trong trường hợp đối tượng có nhiều hàm tạo và chúng ta muốn gọi hàm tạo này từ một hàm tạo khác, chúng ta phải sử dụng từ khóa this như sau:

Câu lệnh this để gọi hàm tạo khác này phải ở dòng đầu tiên của hàm tạo, nếu nó nằm sau bất kỳ khai báo nào, mã của chúng ta sẽ có lỗi trình biên dịch ngay lập tức:

Constructor trong Java là gì?

Bài báo gốc được xuất bản trên huongdanjava.com

có thể bạn quan tâm:

  • lập trình hướng đối tượng (rất tiếc) trong java
  • tạo số và chuỗi ngẫu nhiên trong java
  • ngoại lệ? tóm tắt ngoại lệ trong java

xem các hoạt động java thú vị hơn trên topdev

Xem thêm : Tryptophan là gì