Java 类与对象(附示例)

更新于 2025-12-26

Java 是一种面向对象的编程语言。面向对象方法的核心思想是将复杂问题分解为更小的对象。

对象 是任何具有状态(state)和行为(behavior)的实体。例如,一辆自行车就是一个对象:

  • 状态:空闲、一档、二档等
  • 行为:刹车、加速等

在学习对象之前,我们先来了解 Java 中的 类(Class)


Java 类

是对象的蓝图(模板)。在创建对象之前,我们首先需要定义类。

可以把类想象成一栋房子的设计图纸。图纸中包含了关于楼层、门、窗等所有细节。根据这些描述,我们可以建造出实际的房子 —— 这个房子就是对象

由于可以依据同一份图纸建造多栋房子,因此我们可以从一个类创建多个对象。

在 Java 中创建类

在 Java 中,我们可以使用 class 关键字来定义一个类。例如:

class ClassName {
    // 字段(成员变量)
    // 方法
}
  • 字段(fields):用于存储数据(也称为成员变量)
  • 方法(methods):用于执行某些操作

以自行车为例,我们可以这样定义它的类:

class Bicycle {
    // 状态(字段)
    private int gear = 5;

    // 行为(方法)
    public void braking() {
        System.out.println("刹车功能正在工作");
    }
}

在上面的例子中,我们创建了一个名为 Bicycle 的类,它包含一个字段 gear 和一个方法 braking()

注意:我们使用了关键字 privatepublic,它们被称为 访问修饰符(access modifiers)。更多内容请参阅 Java 访问修饰符


Java 对象

对象 是类的一个实例(instance)。例如,如果 Bicycle 是一个类,那么山地自行车(MountainBicycle)、运动自行车(SportsBicycle)、旅行自行车(TouringBicycle)等都可以被视为该类的对象。

在 Java 中创建对象

创建对象的语法如下:

ClassName object = new ClassName();

例如,对于 Bicycle 类:

Bicycle sportsBicycle = new Bicycle();
Bicycle touringBicycle = new Bicycle();

这里我们使用了 new 关键字以及类的 构造函数(constructor) 来创建对象。构造函数类似于方法,其名称与类名相同(如 Bicycle() 就是 Bicycle 类的构造函数)。更多内容请参阅 Java 构造函数

sportsBicycletouringBicycle 是对象的名称,我们可以用它们来访问类中的字段和方法。

注意:一个类的字段和方法也统称为该类的 成员(members)


访问类的成员

我们可以使用对象名称配合点运算符 . 来访问类的成员。例如:

class Bicycle {
    // 类的字段
    int gear = 5;

    // 类的方法
    void braking() {
        // ...
    }
}

// 创建对象
Bicycle sportsBicycle = new Bicycle();

// 访问字段和方法
sportsBicycle.gear;           // 访问字段 gear
sportsBicycle.braking();      // 调用方法 braking()

在这个例子中,我们创建了名为 sportsBicycleBicycle 对象,并通过它访问了字段和方法。


示例:Java 类与对象

class Lamp {
    // 存储灯的状态
    // true 表示灯亮,false 表示灯灭
    boolean isOn;

    // 打开灯的方法
    void turnOn() {
        isOn = true;
        System.out.println("灯亮了吗?" + isOn);
    }

    // 关闭灯的方法
    void turnOff() {
        isOn = false;
        System.out.println("灯亮了吗?" + isOn);
    }
}

public class Main {
    public static void main(String[] args) {
        // 创建两个 Lamp 对象:led 和 halogen
        Lamp led = new Lamp();
        Lamp halogen = new Lamp();

        // 调用方法打开 led 灯
        led.turnOn();

        // 调用方法关闭 halogen 灯
        halogen.turnOff();
    }
}

输出:

灯亮了吗?true
灯亮了吗?false

在上面的程序中,我们定义了一个名为 Lamp 的类,它包含一个变量 isOn 以及两个方法 turnOn()turnOff()

Main 类中,我们创建了两个 Lamp 对象:ledhalogen,并分别调用了它们的方法。

  • led.turnOn():将 isOn 设为 true 并打印结果
  • halogen.turnOff():将 isOn 设为 false 并打印结果

isOn 是一个 实例变量(instance variable),因为每个对象(实例)都会拥有自己独立的一份副本。也就是说,ledhalogen 各自拥有自己的 isOn 变量。


示例:在同一个类中创建对象

在前面的例子中,我们在另一个类(Main)中创建了对象。其实,我们也可以在同一个类中创建对象:

class Lamp {
    boolean isOn;

    void turnOn() {
        isOn = true;
        System.out.println("灯亮了吗?" + isOn);
    }

    public static void main(String[] args) {
        // 在同一个类中创建 Lamp 对象
        Lamp led = new Lamp();

        // 通过对象调用方法
        led.turnOn();
    }
}

输出:

灯亮了吗?true

这里我们在 main() 方法中创建了 Lamp 类自身的对象 led,并通过它调用了 turnOn() 方法。