原文: https://www.programiz.com/java-programming/class-objects
在本教程中,您将学习 Java 中的面向对象编程,并借助示例来学习 Java 类和对象。
Java 是一种面向对象的编程语言。 它基于对象的概念。
这些对象具有两个特征:
- 状态(字段)
- 行为(方法)
例如,
Lamp
是对象
状态:on
或off
行为:turnOn
或turnOff
Bicycle
是对象
状态:currentGear
,twoWheels
,numberOfGear
等
行为:braking
,accelerating
,changingGears
等
面向对象编程的原理:
面向对象编程的重点是将复杂的编程任务分解为包含字段(用于存储数据)和方法(用于对字段执行操作)的对象。
Java 类
在用 Java 创建对象之前,需要定义一个类。 类是对象的蓝图。
我们可以将类视为房子的草图(原型)。 它包含有关地板,门,窗户等的所有详细信息。基于这些描述,我们建造了房屋。 房子是对象。
由于可以用相同的描述制作许多房屋,因此我们可以根据一个类创建许多对象。
如何用 Java 定义类?
这是我们可以在 Java 中定义类的方法:
class ClassName {
// variables
// methods
}
例如:
class Lamp {
// instance variable
private boolean isOn;
// method
public void turnOn() {
isOn = true;
}
// method
public void turnOff() {
isOn = false;
}
}
在这里,我们创建了一个名为Lamp
的类。
该类具有一个名为isOn
的变量,以及两种方法turnOn()
和turnOff()
。 在类中定义的这些变量和方法称为该类的成员。
在上面的示例中,我们使用了关键字private
和public
。 这些被称为访问修饰符。 要了解更多信息,请访问 Java 访问修饰符。
Java 对象
对象称为类的实例。 例如,假设Animal
是类,则可以将Cat
,Dog
,Horse
等视为Animal
类的对象。
这是我们如何用 Java 创建对象的方法:
className object = new className();
在这里,我们使用构造器className()
创建对象。 构造器与类具有相同的名称,并且与方法类似。 要了解有关 Java 构造器的更多信息,请访问 Java 构造器。
让我们看看如何创建Lamp
类的对象。
// l1 object
Lamp l1 = new Lamp();
// l2 object
Lamp l2 = new Lamp();
在这里,我们使用Lamp
类(Lamp()
)的构造器创建了名为l1
和l2
的对象。
对象用于访问类的成员。 让我们创建Lamp
类的对象
如何访问成员?
对象用于访问类的成员。 我们可以使用.
运算符访问成员(调用方法和访问实例变量)。 例如,
class Lamp {
turnOn() {...}
}
// create object
Lamp l1 = new Lamp();
// access method turnOn()
l1.turnOn();
该语句在l1
对象的Lamp
类内调用turnOn()
方法。
我们已经多次提到方法这个词。 在下一章中,您将详细了解 Java 方法。 这是您现在需要知道的:
当使用上述语句调用该方法时,将执行turnOn()
方法主体内的所有语句。 然后,程序的控制跳回到l1.turnOn()
之后的语句;
Java 中的方法的原理
同样,可以通过以下方式访问实例变量:
class Lamp {
boolean isOn;
}
// create object
Lamp l1 = new Lamp();
// access method turnOn()
l1.isOn = true;
示例:Java 类和对象
class Lamp {
boolean isOn;
void turnOn() {
// initialize variable with value true
isOn = true;
System.out.println("Light on? " + isOn);
}
void turnOff() {
// initialize variable with value false
isOn = false;
System.out.println("Light on? " + isOn);
}
}
class Main {
public static void main(String[] args) {
// create objects l1 and l2
Lamp l1 = new Lamp();
Lamp l2 = new Lamp();
// call methods turnOn() and turnOff()
l1.turnOn();
l2.turnOff();
}
}
输出:
Light on? true
Light on? false
在上面的程序中
我们创建了一个名为
Lamp
的类。该类具有一个实例变量
isOn
和两个方法turnOn()
和turnOff()
。在
Main
类中,我们创建了Lamp
类的两个对象l1
和l2
。然后我们使用
l1
对象调用turnOn()
,并使用l2
对象调用turnOff()
:
。l1.turnOn();
l2.turnOff();
turnOn()
方法将l1
对象的isOn
变量设置为true
。 并打印输出。 同样,turnOff()
方法将l2
对象的isOn
变量设置为false
并打印输出。
注意:由于某种原因,在类内部定义的变量称为实例变量。 创建对象时,它称为类的实例。
每个实例都包含自己在类内部定义的变量的副本。 因此,称为实例变量。 例如,对象l1
和l2
的isOn
变量不同。
在接下来的教程中,我们将探索有关 Java 的面向对象编程的更多信息。