Menu
CoddyTech

构造方法

本课属于 Coddy Java 学习旅程的“面向对象编程”单元。第 7 课,共 87 课。

构造函数是一种特殊的方法,在你使用 new 创建对象时会自动运行。它的名称与类相同,并且没有返回类型。

基础构造函数

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

默认构造函数(无参数)

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

构造函数会初始化对象的状态

Book book = new Book("1984", "Orwell");
// 构造函数会立即运行,并设置字段的值

如果你不编写构造函数,Java 会提供一个默认的空构造函数。一旦你编写了任何构造函数,Java 就不会再自动提供默认构造函数。

challenge icon

挑战

中等

创建一个 Book 类,并通过构造函数初始化所有字段:

  • 私有字段:title、author(String)、pages(int)
  • 一个接收这三个值并使用 this 赋值的构造函数
  • 每个字段的 getter 方法
  • 一个返回 "<title> by <author> (<pages> pages)" 的 getSummary() 方法

亲手试试

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 icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

面向对象编程中的所有课

自己练习: Java 在线编译器