Java Constructor

Java Constructor

Trong lập trình Java, constructor (hàm dựng) 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. Constructor có cùng tên với lớp và không có kiểu trả về, kể cả void.

Khai báo Constructor

Khi bạn tạo một đối tượng từ lớp, constructor sẽ được gọi để khởi tạo các giá trị cho các thuộc tính của đối tượng đó.

Cú pháp:

class ClassName {
    // Constructor
    ClassName(parameterList) {
        // body of constructor
    }
}
  • ClassName: Là tên của lớp.

  • parameterList: Là danh sách các tham số mà constructor nhận vào (có thể rỗng).

Ví dụ:

public class Car {
    private String color;
    private int maxSpeed;

    // Constructor
    public Car(String color, int maxSpeed) {
        this.color = color;
        this.maxSpeed = maxSpeed;
    }

    // Phương thức để hiển thị thông tin của ô tô
    public void displayInfo() {
        System.out.println("Color: " + color);
        System.out.println("Max Speed: " + maxSpeed + " km/h");
    }
}

public class Main {
    public static void main(String[] args) {
        // Tạo một đối tượng ô tô từ lớp Car
        Car myCar = new Car("Red", 200);
        
        // Gọi phương thức hiển thị thông tin của ô tô
        myCar.displayInfo();
    }
}

Trong ví dụ trên, lớp Car có một constructor nhận hai tham số colormaxSpeed. Khi tạo một đối tượng Car, constructor này sẽ được gọi để khởi tạo các giá trị cho các thuộc tính của đối tượng.

Constructor Mặc Định

Nếu bạn không định nghĩa constructor nào cho lớp, Java sẽ tự động tạo ra một constructor mặc định không tham số. Constructor này sẽ không làm gì cả và các thuộc tính của đối tượng sẽ được khởi tạo với giá trị mặc định của chúng (0, null, false, v.v.).

Ví dụ:

Trong ví dụ trên, mặc dù không định nghĩa constructor nào cho lớp Dog, Java vẫn tạo ra một constructor mặc định không tham số.

Constructor Overloading

Constructor overloading là khả năng của một lớp để có nhiều constructor với các tham số khác nhau. Điều này cho phép bạn khởi tạo đối tượng theo nhiều cách khác nhau.

Ví dụ:

Trong ví dụ trên, lớp Rectangle có ba constructor với các tham số khác nhau. Điều này cho phép bạn tạo đối tượng Rectangle theo nhiều cách khác nhau.

Bài tập thực hành

Tạo lớp Person

  • Tạo một lớp Person với các thuộc tính name (tên) và age (tuổi).

  • Cung cấp ba constructor: constructor mặc định, constructor với một tham số name, và constructor với hai tham số nameage.

  • Viết thêm phương thức displayInfo để hiển thị thông tin của người.

Bài giải

Tạo lớp BankAccount

  • Tạo một lớp BankAccount với các thuộc tính accountNumber (số tài khoản) và balance (số dư).

  • Cung cấp ba constructor: constructor mặc định, constructor với một tham số accountNumber, và constructor với hai tham số accountNumberbalance.

  • Viết thêm phương thức displayInfo để hiển thị thông tin của tài khoản.

Bài giải

Bài tập thêm

  • Tạo thêm một số đối tượng từ các lớp PersonBankAccount, sau đó hiển thị thông tin của từng đối tượng.

  • Thử thay đổi giá trị của các thuộc tính thông qua constructor và kiểm tra kết quả.

Hãy thực hiện các bài tập để làm quen với việc sử dụng constructor trong Java.

Last updated