• Home
  • Công nghệ
  • Constructor (hàm tạo) trong Java là gì? Một số cách khai báo Constructor trong Java.
constructor java

Constructor (hàm tạo) trong Java là gì? Một số cách khai báo Constructor trong Java.

Constructor (hàm tạo) trong Java là một phương thức đặc biệt được sử dụng để khởi tạo đối tượng của lớp. Mỗi khi một đối tượng được tạo, constructor sẽ tự động được gọi.

Đặc điểm chính: 

  • Tên constructor trùng với tên lớp.
  • Không có kiểu trả về (void cũng không được phép).
  • Được sử dụng để gán giá trị ban đầu cho các biến thành viên hoặc thực hiện các thao tác khởi tạo.

Constructor giúp:

  • Khởi tạo giá trị ban đầu cho đối tượng.
  • Đảm bảo tính nhất quán khi tạo đối tượng.
  • Tự động hóa việc gán giá trị mà không cần gọi phương thức riêng lẻ.

2. Các loại Constructor trong Java

a. Constructor mặc định (Default Constructor)

  • Java tự động tạo một constructor mặc định nếu không có constructor nào được định nghĩa trong lớp.
  • Nó không có tham số và không thực hiện bất kỳ hành động nào khác ngoài việc tạo đối tượng.
				
					class Student {
    int id;
    String name;

    // Constructor mặc định
    Student() {
        System.out.println("Default constructor được gọi");
    }
}

				
			

b. Constructor không tham số

  • Là constructor do lập trình viên tự định nghĩa mà không có tham số.
  • Dùng để thực hiện các hành động khởi tạo cụ thể.
				
					class Car {
    String brand;

    // Constructor không tham số
    Car() {
        brand = "Toyota";
        System.out.println("Car brand: " + brand);
    }
}

				
			

c. Constructor có tham số

  • Được sử dụng khi cần khởi tạo đối tượng với các giá trị cụ thể.
  • Constructor này nhận tham số và gán giá trị cho các biến thành viên.
				
					public class MyClass {
    private int number;
    private String text;

    // Constructor
    public MyClass(int num, String txt) {
        this.number = num;
        this.text = txt;
    }

    // Getters
    public int getNumber() {
        return number;
    }

    public String getText() {
        return text;
    }
}

				
			

3. Ví dụ minh họa

Ví dụ 1: Constructor mặc định

				
					class Animal {
    Animal() {
        System.out.println("Default constructor của Animal");
    }

    public static void main(String[] args) {
        Animal animal = new Animal();
    }
}

				
			

Ví dụ 2: Constructor có tham số

				
					class Person {
    String name;
    int age;

    Person(String personName, int personAge) {
        name = personName;
        age = personAge;
    }

    void displayInfo() {
        System.out.println("Name: " + name + ", Age: " + age);
    }

    public static void main(String[] args) {
        Person person = new Person("John", 25);
        person.displayInfo();
    }
}

				
			

Ví dụ 3: Gọi constructor trong constructor khác (Constructor chaining)

				
					class Product {
    String name;
    double price;

    // Constructor 1
    Product() {
        this("Unknown Product", 0.0); // Gọi Constructor 2
    }

    // Constructor 2
    Product(String productName, double productPrice) {
        name = productName;
        price = productPrice;
    }

    void display() {
        System.out.println("Product: " + name + ", Price: $" + price);
    }

    public static void main(String[] args) {
        Product defaultProduct = new Product();
        defaultProduct.display();

        Product specificProduct = new Product("Laptop", 1500.0);
        specificProduct.display();
    }
}

				
			

4. Khác biệt giữa Constructor và phương thức

Tiêu chíConstructorPhương thức
TênTrùng với tên lớpBất kỳ tên nào.
Kiểu trả vềKhông có (void cũng không được sử dụng).Có thể có kiểu trả về hoặc không.
Tự động gọiĐược gọi tự động khi tạo đối tượng.Phải được gọi thủ công.
Mục đíchKhởi tạo đối tượng và gán giá trị ban đầu.Thực hiện các hành động hoặc logic cụ thể.

Tổng kết

Constructor đóng vai trò quan trọng trong việc khởi tạo đối tượng và tối ưu hóa mã nguồn trong Java. Người lập trình cần hiểu rõ các loại constructor và cách sử dụng để viết mã ngắn gọn, hiệu quả hơn.

Tham khảo thêm:

Bài viết liên quan

Công Nghệ Đám Mây: Giải Pháp Lưu Trữ Và Xử Lý Dữ Liệu Tối Ưu

Công Nghệ Đám Mây: Giải Pháp Lưu Trữ Và Xử Lý Dữ Liệu Tối Ưu Công nghệ đám…

ByByTrường SơnMar 19, 2025

Thực Tế Ảo (VR) và Thực Tế Tăng Cường (AR): Cánh Cửa Đến Thế Giới Mới

That’s a good title! It’s concise and accurately reflects the transformative potential of VR and AR. However, depending…

ByByTrường SơnMar 19, 2025

Lập Trình 4.0: Học Tập Và Thực Hành Để Thành Công

Lập Trình 4.0: Học Tập Và Thực Hành Để Thành Công Lập trình 4.0 không chỉ đơn thuần…

ByByTrường SơnMar 19, 2025

5 Công Nghệ Đột Phá Thay Đổi Cách Chúng Ta Sống

Năm công nghệ đột phá đang thay đổi cách chúng ta sống bao gồm: Trí tuệ nhân tạo…

ByByTrường SơnMar 19, 2025

Subscribe
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bình chọn nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận

0
Rất mong nhận được suy nghĩ của bạn, vui lòng bình luận.x
()
x
0869224813
Liên hệ