原文: 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 speedcurrentSpeed = currentSpeed + 10;}public void park() {// set current speed to zerocurrentSpeed = 0;}public void printCurrentSpeed() {// display the current speed of this carSystem.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 carCar audi = new Car("Audi");// create new Nissan carCar nissan = new Car("Nissan");// print current speed of Audi - it is 0audi.printCurrentSpeed();// call the accelerate method twice on Audiaudi.accelerate();audi.accelerate();// call the accelerate method once on Nissannissan.accelerate();// print current speed of Audi - it is now 20 mpHaudi.printCurrentSpeed();// print current speed of Nissan - it is 10 mpHnissan.printCurrentSpeed();// now park the Audi caraudi.park();// print current speed of Audi - it is now 0, because the car is parkedaudi.printCurrentSpeed();}}
在上面的代码中,我们首先创建 2 个类型为Car的新对象 – Audi和Nissan。 这是Car类的两个单独实例(两个不同的对象),当我们调用Audi对象的方法时,这不会影响Nissan对象。
执行CarTest的结果将如下所示:
The current speed of Audi is 0 mpHThe current speed of Audi is 20 mpHThe current speed of Nissan is 10 mpHThe current speed of Audi is 0 mpH
我鼓励您尝试使用该代码。 尝试向Car类添加新方法或编写新类。
在我们的下一个教程中,您将了解有关面向对象编程的概念的更多信息。
