跳到主要内容

Java 类和对象

提示
  1. Java类的概念:类是Java中对象的蓝图或原型,定义了对象的状态(字段)和行为(方法),例如自行车类具有档位(状态)和刹车(行为)。
  2. 创建和使用Java对象:对象是类的实例,可以使用new关键字和类的构造器创建,每个对象都有独立的状态和行为。
  3. 访问类成员:可以通过创建的对象和.运算符访问类的字段和方法,例如sportsBicycle.gear访问自行车对象的档位,sportsBicycle.braking()调用刹车方法。

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

对象是具有状态行为的任何实体。例如,bicycle(自行车)就是一个对象。它有

  • 状态:空闲,一档等
  • 行为:刹车,加速等。

在我们学习对象之前,让我们先了解一下 Java 中的类。

Java 类

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

我们可以将类看作是房屋的草图(原型)。它包含了关于楼层、门、窗等的所有细节。基于这些描述我们构建房屋。房屋就是对象。

由于可以根据同一描述建造多座房屋,我们可以从一个类创建许多对象。

在 Java 中创建类

我们可以使用 class 关键字在 Java 中创建类。例如,

class ClassName {
// 字段
// 方法
}

这里的 fields(变量)和 methods 分别代表对象的状态行为

  • 字段用于存储数据
  • 方法用于执行某些操作

对于我们的 bicycle 对象,我们可以创建类如下

class Bicycle {

// 状态或字段
private int gear = 5;

// 行为或方法
public void braking() {
System.out.println("Working of Braking");
}
}

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

这里,Bicycle 是一个原型。现在,我们可以使用这个原型创建任意数量的自行车。而且,所有的自行车都将共享原型的字段和方法。

注意:我们使用了关键词 privatepublic。这些被称为访问修饰符。要了解更多,请访问 Java 访问修饰符

Java 对象

对象被称为类的实例。例如,假设 Bicycle 是一个类,那么 MountainBicycleSportsBicycleTouringBicycle 等可以被视为该类的对象。

在 Java 中创建对象

以下是我们创建类的对象的方式。

className object = new className();

// 对于 Bicycle 类
Bicycle sportsBicycle = new Bicycle();

Bicycle touringBicycle = new Bicycle();

我们使用了 new 关键字和类的构造器来创建对象。构造器类似于方法,并且与类同名。例如,Bicycle()Bicycle 类的构造器。要了解更多,请访问 Java 构造器

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

正如你所见,我们创建了该类的两个对象。我们可以在 Java 中为单个类创建多个对象。

注意:类的字段和方法也被称为类的成员。

访问类的成员

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

class Bicycle {

// 类的字段
int gear = 5;

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

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

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

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

Bicycle sportsBicycle = new Bicycle();

在这里,我们创建了一个名为 sportsBicycleBicycle 对象。然后我们使用这个对象来访问类的字段和方法。

  • sportsBicycle.gear - 访问字段 gear
  • sportsBicycle.braking() - 访问方法 braking()

我们已经多次提到了“方法”这个词。在下一章中,您将详细了解 Java 方法

现在我们理解了什么是类和对象。让我们来看一个完整的示例。

示例:Java 类和对象

class Lamp {

// 存储灯光的值
// 当灯亮时为 true
// 当灯灭时为 false
boolean isOn;

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

}

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

class Main {
public static void main(String[] args) {

// 创建 led 和 halogen 对象
Lamp led = new Lamp();
Lamp halogen = new Lamp();

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

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

输出

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

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

Main 类中,我们创建了两个对象:ledhalogen,它们属于 Lamp 类。然后我们使用这些对象来调用类的方法。

  • led.turnOn() - 它将 isOn 变量设置为 true 并打印输出。
  • halogen.turnOff() - 它将 isOn 变量设置为 false 并打印输出。

定义在类内部的变量 isOn 也被称为实例变量。这是因为当我们创建类的对象时,它被称为类的一个实例。每个实例都将拥有自己的变量副本。

也就是说,ledhalogen 对象将拥有自己的 isOn 变量副本。

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

注意,在上一个示例中,我们在另一个类内创建了对象,并从那个类中访问了成员。

然而,我们也可以在同一个类内创建对象。

class Lamp {

// 存储灯光的值
// 当灯亮时为 true
// 当灯灭时为 false
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() 方法内创建对象的。