Các hàm tạo trong Java tương tự như các phương thức được gọi khi một đối tượng của lớp được tạo. Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các hàm tạo Java và các kiểu của chúng với sự trợ giúp của các ví dụ.

Bạn đang xem : hàm tạo trong java

Constructor là gì?

Một hàm tạo trong Java tương tự như một phương thức được gọi khi một đối tượng của lớp được tạo.

Không giống như các phương thức Java , một hàm tạo có cùng tên với tên của lớp và không có bất kỳ kiểu trả về nào. Ví dụ:

Kiểm tra lớp học {
  Bài kiểm tra() {
    // phần thân của hàm tạo
  }
} 

Ở đây, Test () là một hàm tạo. Nó trùng tên với tên của lớp và không có kiểu trả về.

Đọc được đề xuất: Tại sao các hàm tạo không trả về giá trị

Ví dụ 1: Java Constructor

 class Main {
  tên chuỗi riêng;

  // người xây dựng
  Chính() {
    System.out.println ("Khối mã lệnh được gọi:");
    tên = "Programiz";
  }

  public static void main (String [] args) {

    // hàm tạo được gọi trong khi
    // tạo một đối tượng của lớp Main
    Main obj = new Main ();
    System.out.println ("Tên là" + obj.name);
  }
}  

Đầu ra :

Constructor được gọi là:
Tên là Programiz 

Trong ví dụ trên, chúng tôi đã tạo một phương thức khởi tạo có tên là Main () . Bên trong hàm tạo, chúng tôi đang khởi tạo giá trị của biến tên.

Lưu ý câu lệnh tạo một đối tượng của lớp Chính.

 Main obj = new Main ();  

Tại đây, khi đối tượng được tạo, hàm tạo Main () sẽ được gọi. Và, giá trị của biến tên được khởi tạo.

Do đó, chương trình in giá trị của các biến tên là Programiz .

Các loại mã lệnh

Trong Java, các hàm tạo có thể được chia thành 3 loại:

  1. Khối mã lệnh No-Arg
  2. Hàm tạo được tham số hóa
  3. Khối mã lệnh mặc định

1. Trình tạo Java No-Arg

Tương tự như các phương thức, một hàm tạo Java có thể có hoặc không có bất kỳ tham số (đối số) nào.

Nếu một hàm tạo không chấp nhận bất kỳ tham số nào, nó được gọi là một hàm tạo không đối số. Ví dụ:

 private Constructor () {
   // phần thân của hàm tạo
}  

Ví dụ 2: Hàm khởi tạo no-arg riêng trong Java

 class Main {

  int i;

  // hàm tạo không có tham số
  riêng chính () {
    i = 5;
    System.out.println ("Khối mã lệnh được gọi");
  }

  public static void main (String [] args) {

    // gọi hàm tạo mà không có bất kỳ tham số nào
    Main obj = new Main ();
    System.out.println ("Giá trị của i:" + obj.i);
  }
}  

Đầu ra :

Hàm tạo được gọi là
Giá trị của i: 5 

Trong ví dụ trên, chúng ta đã tạo một hàm tạo Main () . Ở đây, hàm tạo không chấp nhận bất kỳ tham số nào. Do đó, nó được biết đến như một hàm tạo không đối số.

Lưu ý rằng chúng tôi đã khai báo hàm tạo là riêng tư.

Khi một hàm tạo được khai báo private , nó không thể được truy cập từ bên ngoài lớp. Vì vậy, việc tạo các đối tượng từ bên ngoài lớp bị cấm sử dụng phương thức khởi tạo private.

Xem Thêm  Cách căn giữa mọi thứ bằng CSS - Căn chỉnh Div, Text, v.v. - css căn chỉnh trung tâm nội dung nội dung

Ở đây, chúng tôi đang tạo đối tượng bên trong cùng một lớp. Do đó, chương trình có thể truy cập hàm tạo. Để tìm hiểu thêm, hãy truy cập Java Triển khai mã lệnh riêng .

Tuy nhiên, nếu chúng ta muốn tạo các đối tượng bên ngoài lớp, thì chúng ta cần khai báo hàm tạo là public .

Ví dụ 3: Các hàm tạo no-arg công khai trong Java

 class Company {
  Tên chuỗi;

  // hàm tạo công khai
  công ty () {
    tên = "Programiz";
  }
}

lớp chính {
  public static void main (String [] args) {

    // đối tượng được tạo trong một lớp khác
    Công ty obj = Công ty mới ();
    System.out.println ("Tên công ty =" + obj.name);
  }
}  

Đầu ra :

Tên công ty = Programiz 

Đề xuất Đọc: Công cụ sửa đổi quyền truy cập Java

2. Java Parameterized Constructor

Một hàm tạo Java cũng có thể chấp nhận một hoặc nhiều tham số. Các hàm tạo như vậy được gọi là các hàm tạo tham số hóa (hàm tạo có tham số).

Ví dụ 4: Hàm tạo được tham số hóa

 class Main {

  Ngôn ngữ chuỗi;

  // hàm tạo chấp nhận giá trị đơn
  Main (Chuỗi lang) {
    ngôn ngữ = lang;
    System.out.println (ngôn ngữ + "Ngôn ngữ lập trình");
  }

  public static void main (String [] args) {

    // gọi hàm tạo bằng cách truyền một giá trị duy nhất
    Main obj1 = new Main ("Java");
    Main obj2 = new Main ("Python");
    Main obj3 = new Main ("C");
  }
}  

Đầu ra :

Ngôn ngữ lập trình Java
Ngôn ngữ lập trình Python
Ngôn ngữ lập trình C 

Trong ví dụ trên, chúng tôi đã tạo một phương thức khởi tạo có tên là Main () . Ở đây, hàm tạo nhận một tham số duy nhất. Chú ý biểu thức,

 Main obj1 = new Main ("Java");  

Ở đây, chúng tôi đang chuyển một giá trị duy nhất cho hàm tạo. Dựa trên đối số được truyền vào, biến ngôn ngữ được khởi tạo bên trong hàm tạo.

3. Hàm tạo mặc định của Java

Nếu chúng tôi không tạo bất kỳ phương thức khởi tạo nào, trình biên dịch Java sẽ tự động tạo một phương thức khởi tạo no-arg trong quá trình thực thi chương trình. Hàm tạo này được gọi là hàm tạo mặc định.

Ví dụ 5: Khối mã lệnh mặc định

 class Main {

  int a;
  boolean b;

  public static void main (String [] args) {

    // Một hàm tạo mặc định được gọi
    Main obj = new Main ();

    System.out.println ("Giá trị mặc định:");
    System.out.println ("a =" + obj.a);
    System.out.println ("b =" + obj.b);
  }
}  

Đầu ra :

a = 0
b = false 

Ở đây, chúng tôi chưa tạo bất kỳ hàm tạo nào. Do đó, trình biên dịch Java tự động tạo phương thức khởi tạo mặc định.

Hàm tạo mặc định khởi tạo bất kỳ biến phiên bản chưa được khởi tạo nào bằng các giá trị mặc định.

Loại hình
Giá trị mặc định
boolean
sai
byte

ngắn

int

dài
0L
char
\ u0000
float
0,0f
double
0,0 ngày
đối tượng
Tham chiếu null

Trong chương trình trên, các biến a và b được khởi tạo với giá trị mặc định 0 false tương ứng.

Chương trình trên tương đương với:

 class Main {

  int a;
  boolean b;

   Chính() {
    a = 0;
    b = sai;
  }

  public static void main (String [] args) {
    // gọi hàm tạo
    Main obj = new Main ();

    System.out.println ("Giá trị mặc định:");
    System.out.println ("a =" + obj.a);
    System.out.println ("b =" + obj.b);
  }
}  

Đầu ra của chương trình giống như Ví dụ 5.

Xem Thêm  Cách thay đổi văn bản và màu nền trong CSS - cách thay đổi màu văn bản trong css

Các lưu ý quan trọng về trình tạo Java

  • Các hàm tạo được gọi ngầm khi bạn khởi tạo các đối tượng.
  • Hai quy tắc để tạo một hàm tạo là:
    Tên của hàm tạo phải giống với lớp.
    Một hàm tạo Java không được có kiểu trả về.
  • Nếu một lớp không có hàm tạo, trình biên dịch Java sẽ tự động tạo hàm tạo mặc định trong thời gian chạy. Hàm tạo mặc định khởi tạo các biến cá thể với các giá trị mặc định. Ví dụ: biến int sẽ được khởi tạo thành 0
  • Các loại hàm tạo:
    No-Arg Constructor – một hàm tạo không chấp nhận bất kỳ đối số nào
    Hàm tạo tham số – một hàm tạo chấp nhận các đối số < br /> Hàm tạo mặc định – một hàm tạo được tự động tạo bởi trình biên dịch Java nếu nó không được định nghĩa rõ ràng.
  • Một hàm tạo không được là abstract hoặc static hoặc final .
  • Một hàm tạo có thể được ghi đè nhưng không thể được ghi đè.

Nạp chồng cấu trúc trong Java

Tương tự như nạp chồng phương thức Java , chúng tôi cũng có thể tạo hai hoặc nhiều hàm tạo với các tham số khác nhau. Đây được gọi là quá tải hàm tạo.

Ví dụ 6: Nạp chồng khối mã lệnh Java

 class Main {

  Ngôn ngữ chuỗi;

  // hàm tạo không có tham số
  Chính() {
    this.language = "Java";
  }

  // hàm tạo với một tham số duy nhất
  Chính (Ngôn ngữ chuỗi) {
    this.language = ngôn ngữ;
  }

  public void getName () {
    System.out.println ("Lập trình Langauage:" + this.language);
  }

  public static void main (String [] args) {

    // gọi hàm tạo không có tham số
    Main obj1 = new Main ();

    // gọi hàm tạo với một tham số duy nhất
    Main obj2 = new Main ("Python");

    obj1.getName ();
    obj2.getName ();
  }
}  

Đầu ra :

Ngôn ngữ lập trình: Java
Ngôn ngữ lập trình: Python 

Trong ví dụ trên, chúng ta có hai hàm tạo: Main () Main (Ngôn ngữ chuỗi). Ở đây, cả hàm tạo đều khởi tạo giá trị của ngôn ngữ biến với các giá trị khác nhau.

Dựa trên tham số được truyền trong quá trình tạo đối tượng, các hàm tạo khác nhau được gọi và các giá trị khác nhau được gán.

Cũng có thể gọi một hàm tạo từ một hàm tạo khác. Để tìm hiểu thêm, hãy truy cập Java Call One Constructor từ Another .

Lưu ý : Chúng tôi đã sử dụng từ khóa this để chỉ định biến của lớp. Để biết thêm về từ khóa this , hãy truy cập Java từ khóa này .


Xem thêm những thông tin liên quan đến chủ đề hàm tạo trong java là gì

Java 30. Cách xây dựng lớp và phương thức khởi tạo Constructor | Phần 2 – Lập trình Hướng Đối Tượng

  • Tác giả: TITV
  • Ngày đăng: 2021-05-11
  • Đánh giá: 4 ⭐ ( 4369 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: ★ Khóa học miễn phí LậpTrìnhJava: https://bit.ly/2XSfJsO ★ LậpTrìnhC: https://bit.ly/3k7sA2B ★ Ủng hộ phát triển kênh: Momo,ZaloPay,ViettelPay: 0374568701 / STK: 109005606811 Vietinbank – CTK: Le Nhat Tung. ★ Link tải code: https://bit.ly/3AwCNeX
    ★ Khóa học Lập trình Java: bao gồm tất cả nội dung kiến thức về các công cụ lập trình IDE, Java Core, Các thuật toán, Lập trình hướng đối tượng Java, Cấu trúc dữ liệu Java, Xử lý tập tin trong Java, Lập trình giao diện AWT và Swing, Lập trình mạng Java, Sử dụng Java để tương tác với cơ sở dữ liệu, Lập trình xây dựng ứng dụng website trên nền tảng Java web, JSP và Servlet.
    Khóa học này cung cấp phần lớn kiến thức và kỹ năng về ngôn ngữ lập trình java và là bước đệm cho các lập trình viên muốn tìm hiểu tiếp ngôn ngữ lập trình Android.
    Khóa học này phù hợp cho các bạn mới bắt đầu học Lập trình Java, hoặc các bạn muốn ôn tập lại kiến thức một cách hệ thống và mạch lạc để chuẩn bị đi làm.
    ★ Bạn cũng có thể tìm thấy các khóa học về ngôn ngữ khác tại đây: https://www.youtube.com/c/TITVvn
    ★ Cácn bạn vui lòng đăng ký kênh (Subscribe) và chia sẻ video (Share) đến các bạn cùng lớp nhé.
    ★ Diễn đàn hỏi đáp: https://www.facebook.com/groups/titv.vn
    ★ Facebook: https://www.facebook.com/tung.lenhat
    ★ Website: http://titv.vn, http://titv.edu.vn
    =================================
    ✩ Hộp thư đóng góp ý kiến hoặc ý tưởng: lenhattung@gmail.com
    =================================
    © Bản quyền thuộc về TITV ☞ Vui lòng không đăng tải lại Video từ kênh này
    © Copyright by TITV Channel ☞ Do not Re-up
Xem Thêm  Viết tệp PHP - ghi vào một tập tin php

Hàm Khởi Tạo Và Hàm Huỷ

  • Tác giả: nguyenvanhieu.vn
  • Đánh giá: 5 ⭐ ( 4761 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hàm khởi tạo là một hàm thành viên đặc biệt của một lớp. Nó sẽ được tự động gọi đến khi một đối tượng của lớp đó được khởi tạo.

Các loại hàm khởi tạo (constructor) của lớp trong Java

  • Tác giả: gochocit.com
  • Đánh giá: 5 ⭐ ( 9258 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hàm khởi tạo (constructor) trong Java có 3 loại no-argument constructor, parameterized constructor, hàm khởi tạo mặc định (default constructor).

Tại sao hàm tạo không thể là cuối cùng trong Java

  • Tác giả: vn.wsxdn.com
  • Đánh giá: 5 ⭐ ( 5524 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Hàm khởi tạo và hàm hủy trong lập trình hướng đối tượng

  • Tác giả: freetuts.net
  • Đánh giá: 3 ⭐ ( 3271 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tìm hiểu khái niệm hàm khởi tạo và hàm hủy trong lập trình hướng đối tượng, một số ví dụ rất hay về hàm khởi tại, bản chất của hảm hủy

Tìm hiểu về Hàm tạo (Constructor) trong Java

  • Tác giả: laptrinhvienjava.com
  • Đánh giá: 3 ⭐ ( 2136 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong Java, Constructor (hay còn gọi là hàm tạo) là một khối mã tương tự như phương thức. Nó được gọi khi một thể hiện của class được tạo

Constructor trong Java

  • Tác giả: vietjack.com
  • Đánh giá: 5 ⭐ ( 6493 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Constructor trong Java – Học Java cơ bản và nâng cao cho người mới học về Ngôn ngữ hướng đối tượng, Ví dụ Java, Phương thức, Ghi đè, Tính kế thừa, Tính trừu tượng, Tính đa hình, Overriding, Inheritance, Polymorphism, Interfaces, Packages, Collections, Lập trình mạng, Đa luồng, Tuần tự hóa, Networking, Multithreading, Generics, Multimedia, Serialization, GUI.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php