Menu
CoddyTech

类与对象

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

类是定义结构的蓝图。对象是根据该蓝图创建的具体实例。

类(蓝图)

public class Car {
    String brand;
    int year;
    
    public Car(String brand, int year) {
        this.brand = brand;
        this.year = year;
    }
    
    public String getInfo() {
        return this.brand + " (" + this.year + ")";
    }
}

创建对象(实例)

Car car1 = new Car("Tesla", 2023);
Car car2 = new Car("Honda", 2020);

System.out.println(car1.getInfo());  // Tesla (2023)
System.out.println(car2.getInfo());  // Honda (2020)

每个对象都是独立的。更改 car1 不会影响 car2。你可以用同一个类创建任意多个对象,每个对象都有自己的数据。

challenge icon

挑战

中等

创建一个 Car 类(蓝图),程序会用它创建两个不同的对象(实例):

  • 字段:brand(String)和 year(int)
  • 一个用于设置这两个字段的构造函数
  • 一个返回 "<brand> (<year>)" 的 getInfo() 方法

亲手试试

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        String brand1 = scanner.nextLine();
        int year1 = Integer.parseInt(scanner.nextLine());
        String brand2 = scanner.nextLine();
        int year2 = Integer.parseInt(scanner.nextLine());
        
        Car car1 = new Car(brand1, year1);
        Car car2 = new Car(brand2, year2);
        
        System.out.println("Car 1: " + car1.getInfo());
        System.out.println("Car 2: " + car2.getInfo());
        System.out.println("Same car? " + (car1 == car2));
    }
}
quiz icon自我测试

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

面向对象编程中的所有课

自己练习: Java 在线编译器