原文: https://javatutorial.net/java-objects-and-classes-tutorial
在本教程中,我将解释 Java 类和对象的基础。
Java 是一种面向对象的编程语言。 这意味着,除了基本类型之外,Java 中的所有内容都是一个对象。 但是,对象到底是什么? 使用类和对象的概念是将状态和行为封装到单个编程单元中。 这个概念称为封装。 Java 对象类似于真实世界的对象。 例如,我们可以用 Java 创建一个汽车对象,该对象将具有当前速度和颜色等属性。 和行为,例如:加速和停车。
创建类
Java 类是创建对象的蓝图。 让我们创建一个代表汽车的类。
public class Car {
int currentSpeed;
String name;
public void accelerate() {
}
public void park() {
}
public void printCurrentSpeed() {
}
}
看上面的代码。 汽车对象状态(当前速度和名称)存储在字段中,并通过方法显示对象的行为(加速和停车)。 在此示例中,方法是accelerator()
,park()
和printCurrentSpeed()
。
让我们在这些方法中实现一些功能。
每次调用加速方法时,我们将每小时增加 10 英里的当前速度。
调用驻车方法会将当前速度设置为零
printCurrentSpeed
方法将显示汽车的速度。
为了实现这三个要求,我们将创建一个名为Car
的类并将文件存储为Car.java
。
public class Car {
int currentSpeed;
String name;
public Car(String name) {
this.name = name;
}
public void accelerate() {
// add 10 miles per hour to current speed
currentSpeed = currentSpeed + 10;
}
public void park() {
// set current speed to zero
currentSpeed = 0;
}
public void printCurrentSpeed() {
// display the current speed of this car
System.out.println("The current speed of " + name + " is " + currentSpeed + " mpH");
}
}
类名
创建 Java 类时,必须遵循以下规则:文件名和该类的名称必须相同。 在我们的示例中 – Car
类必须存储在名为Car.java
的文件中。 Java 也是区分大小写的:用大写C
编写的汽车与用小写c
编写的汽车不同。
Java 类构造函数
构造函数是特殊的方法。 当我们创建对象的新实例时会调用它们。 在上面的示例中,构造函数为:
public Car(String name) {
this.name = name;
}
构造函数必须与类本身具有相同的名称。 它们可以带或不带参数。 此示例中的参数为“名称”。 我们使用如下构造函数创建一个新的car
对象(我将在本教程的后面部分对此进行详细说明):
Car audi = new Car("Audi");
Java 注释
您是否注意到第 11、16 和 21 行前面的//
标记? 这就是我们用 Java 编写注释的方式。 执行程序时,标记为注释的行将被忽略。 您可以编写注释以进一步解释代码中发生的事情。 撰写评论是一种好习惯,它将帮助其他人理解您的代码。 稍后再返回代码时,它也将为您提供帮助。
创建对象
现在让我们继续我们的汽车示例。 我们将创建第二个名为CarTest
的类,并将其存储到名为CarTest.java
的文件中
public class CarTest {
public static void main(String[] args) {
// create new Audi car
Car audi = new Car("Audi");
// create new Nissan car
Car nissan = new Car("Nissan");
// print current speed of Audi - it is 0
audi.printCurrentSpeed();
// call the accelerate method twice on Audi
audi.accelerate();
audi.accelerate();
// call the accelerate method once on Nissan
nissan.accelerate();
// print current speed of Audi - it is now 20 mpH
audi.printCurrentSpeed();
// print current speed of Nissan - it is 10 mpH
nissan.printCurrentSpeed();
// now park the Audi car
audi.park();
// print current speed of Audi - it is now 0, because the car is parked
audi.printCurrentSpeed();
}
}
在上面的代码中,我们首先创建 2 个类型为Car
的新对象 – Audi
和Nissan
。 这是Car
类的两个单独实例(两个不同的对象),当我们调用Audi
对象的方法时,这不会影响Nissan
对象。
执行CarTest
的结果将如下所示:
The current speed of Audi is 0 mpH
The current speed of Audi is 20 mpH
The current speed of Nissan is 10 mpH
The current speed of Audi is 0 mpH
我鼓励您尝试使用该代码。 尝试向Car
类添加新方法或编写新类。
在我们的下一个教程中,您将了解有关面向对象编程的概念的更多信息。