Menu
CoddyTech

Phương thức khởi tạo

Thuộc phần Lập trình hướng đối tượng trong hành trình Java của Coddy. Bài học 7 trên 87.

Hàm khởi tạo là một phương thức đặc biệt, tự động chạy khi bạn tạo một đối tượng bằng new. Hàm này có cùng tên với lớp và không có kiểu trả về.

Hàm khởi tạo cơ bản

public class Book {
    private String title;
    private String author;
    
    public Book(String title, String author) {
        this.title = title;
        this.author = author;
    }
}

Hàm khởi tạo mặc định (không có tham số)

public class Book {
    private String title;
    
    public Book() {
        this.title = "Unknown";
    }
}

Hàm khởi tạo thiết lập trạng thái của đối tượng

Book book = new Book("1984", "Orwell");
// Hàm khởi tạo (constructor) chạy ngay và gán giá trị cho các trường

Nếu bạn không viết hàm khởi tạo (constructor), Java sẽ cung cấp một hàm khởi tạo rỗng mặc định. Khi bạn viết bất kỳ hàm khởi tạo nào, Java sẽ không còn tự động cung cấp hàm khởi tạo mặc định nữa.

challenge icon

Thử thách

Trung bình

Tạo lớp Book với hàm khởi tạo để khởi tạo tất cả các trường:

  • Các trường private: title, author (String), pages (int)
  • Một hàm khởi tạo nhận cả ba giá trị và gán chúng bằng this
  • Các phương thức getter cho từng trường
  • Một phương thức getSummary() trả về "<title> by <author> (<pages> pages)"

Tự làm thử

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        int pages = Integer.parseInt(scanner.nextLine());
        
        Book book = new Book(title, author, pages);
        
        System.out.println("Title: " + book.getTitle());
        System.out.println("Author: " + book.getAuthor());
        System.out.println("Pages: " + book.getPages());
        System.out.println(book.getSummary());
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch Java online