在本教程中,您将学习Java中的面向对象编程,并在示例的帮助下学习Java类和对象。
Java是一种面向对象的编程语言。它基于对象的概念。
这些对象具有两个特征:
状态(字段)
行为(方法)
例如,
灯是对象
状态:亮 或 不亮
行为:开灯 或 关灯摩托车是一个对象
状态:当前档位,2个轮子,档位数等
行为:刹车,加速,改变档位等
面向对象编程的原理:
面向对象编程的重点是将复杂的编程任务分解为包含字段(存储数据)和方法(对字段执行操作)的对象。
Java类
在用Java创建对象之前,需要定义一个类。类是对象的蓝图。
我们可以将类视为房子的草图(原型)。它包含有关地板,门,窗户等的所有详细信息。基于这些描述,我们建造了房屋。房子是对象。
由于可以用相同的描述制作许多房屋,因此我们可以根据一个类创建许多对象。
如何在Java中定义类?
这是我们如何在Java中定义类的方法:
class ClassName { // 属性 // 方法 }
例如,
class Lamp { //实例变量 private boolean isOn; // 方法 public void turnOn() { isOn = true; } // 方法 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 对象 Lamp l1 = new Lamp(); // l2 对象 Lamp l2 = new Lamp();
这里,我们使用Lamp类(Lamp())的构造函数创建了名为l1和l2的对象。
对象用于访问类的成员。让我们创建Lamp类的对象
如何访问成员?
对象用于访问类的成员。我们可以使用.运算符来访问成员(调用方法和访问实例变量)。例如,
class Lamp { turnOn() {...} } //创建对象 Lamp l1 = new Lamp(); //访问方法turnOn() l1.turnOn();
此语句调用l1对象的Lamp类中的turnOn()方法。
我们已经多次提到方法一词。您将在下一章中详细了解Java方法。这是您现在需要知道的:
使用上述语句调用方法时,turnOn()方法体中的所有语句都将执行。然后,程序的控制跳回l1.turnOn()后面的语句;
同样,可以通过以下方式访问实例变量:
class Lamp { boolean isOn; } //创建对象 Lamp l1 = new Lamp(); // 访问方法turnOn() l1.isOn = true;
示例:Java类和对象
class Lamp { boolean isOn; void turnOn() { // 初始化值为true的变量 isOn = true; System.out.println("点亮? " + isOn); } void turnOff() { //初始化值为false的变量 isOn = false; System.out.println("点亮? " + isOn); } } class Main { public static void main(String[] args) { //创建对象l1和l2 Lamp l1 = new Lamp(); Lamp l2 = new Lamp(); //调用方法turnOn()和shutdown () l1.turnOn(); l2.turnOff(); } }
输出:
点亮? true 点亮? false
在上面的程序中
我们创建了一个名为Lamp的类。
该类有一个实例变量isOn和两个方法turnOn()和turnOff()。
内部Main类中,我们创建了Lamp类的两个对象l1和l2。
然后我们使用l1对象调用turnOn(),使用l2对象调用turnOff():
l1.turnOn(); l2.turnOff();
方法的作用是:将l1对象的isOn变量设置为true。并打印输出。类似地,turnOff()方法将l2对象的isOn变量设置为false并打印输出。
注意:类中定义的变量称为实例变量是有原因的。当一个对象被创建时,它被称为类的实例。每个实例都包含类中定义的变量的副本。因此,称为实例变量。例如,对象l1和l2的isOn变量是不同的。
在接下来的教程中,我们将探索更多有关Java的面向对象编程的知识。