Java 类和对象
- Java类的概念:类是Java中对象的蓝图或原型,定义了对象的状态(字段)和行为(方法),例如自行车类具有档位(状态)和刹车(行为)。
- 创建和使用Java对象:对象是类的实例,可以使用
new
关键字和类的构造器创建,每个对象都有独立的状态和行为。 - 访问类成员:可以通过创建的对象和
.
运算符访问类的字段和方法,例如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
是一个原型。现在,我们可以使用这个原型创建任意数量的自行车。而且,所有的自行车都将共享原型的字段和方法。
注意:我们使用了关键词 private
和 public
。这些被称为访问修饰符。要了解更多,请访问 Java 访问修饰符。
Java 对象
对象被称为类的实例。例如,假设 Bicycle
是一个类,那么 MountainBicycle
、SportsBicycle
、TouringBicycle
等可以被视为该类的对象。
在 Java 中创建对象
以下是我们创建类的对象的方式。
className object = new className();
// 对于 Bicycle 类
Bicycle sportsBicycle = new Bicycle();
Bicycle touringBicycle = new Bicycle();
我们使用了 new
关键字和类的构造器来创建对象。构造器类似于方法,并且与类同名。例如,Bicycle()
是 Bicycle
类的构造器。要了解更多,请访问 Java 构造器。
这里,sportsBicycle
和 touringBicycle
是对象的名称。我们可以使用它们来访问类的字段和方法。
正如你所见,我们创建了该类的两个对象。我们可以在 Java 中为单个类创建多个对象。
注意:类的字段和方法也被称为类的成员。
访问类的成员
我们可以使用对象的名称和 .
运算符来访问类的成员。例如,
class Bicycle {
// 类的字段
int gear = 5;
// 类的方法
void braking() {
...
}
}
// 创建对象
Bicycle sportsBicycle = new Bicycle();
// 访问字段和方法
sportsBicycle.gear;
sportsBicycle.braking();
在上面的例子中,我们创建了一个名为 Bicycle
的类。它包括一个名为 gear
的字段和一个名为 braking()
的方法。注意语句,
Bicycle sportsBicycle = new Bicycle();
在这里,我们创建了一个名为 sportsBicycle
的 Bicycle
对象。然后我们使用这个对象来访问类的字段和方法。
- 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
类中,我们创建了两个对象:led
和 halogen
,它们属于 Lamp
类。然后我们使用这些对象来调用类的方法。
- led.turnOn() - 它将
isOn
变量设置为true
并打印输出。 - halogen.turnOff() - 它将
isOn
变量设置为false
并打印输出。
定义在类内部的变量 isOn
也被称为实例变量。这是因为当我们创建类的对象时,它被称为类的一个实例 。每个实例都将拥有自己的变量副本。
也就是说,led
和 halogen
对象将拥有自己的 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()
方法内创建对象的。