Java 类和对象

Java 是一种面向对象的编程语言。面向对象方法的关键概念是将复杂问题分解为更小的对象。

对象是任何具有状态行为的实体。例如,一辆自行车就是一个对象。它有

  • 状态:空闲、一档等
  • 行为:刹车、加速等。

在学习对象之前,我们先来了解一下 Java 中的类。


Java 类

类是对象的蓝图。在创建对象之前,我们首先需要定义类。

我们可以将类看作是一栋房子的草图(原型)。它包含了所有关于楼层、门、窗等的详细信息。根据这些描述,我们建造房子。房子就是对象。

因为可以根据同一个描述建造许多房子,所以我们可以从一个类创建许多对象。


在 Java 中创建类

我们可以使用 class 关键字在 Java 中创建类。例如,

class ClassName {
  // fields
  // methods
}

在这里,字段变量)和方法分别代表了对象的状态行为

  • 字段用于存储数据
  • 方法用于执行某些操作

对于我们的自行车对象,我们可以创建类为

class Bicycle {

  // state or field
  private int gear = 5;

  // behavior or method
  public void braking() {
    System.out.println("Working of Braking");
  }
}

在上面的例子中,我们创建了一个名为 Bicycle 的类。它包含一个名为 gear 的字段和一个名为 braking() 的方法。

这里,Bicycle 是一个原型。现在,我们可以使用这个原型创建任意数量的自行车。并且,所有的自行车都将共享这个原型的字段和方法。

注意:我们使用了 关键字 privatepublic。它们被称为访问修饰符。想了解更多,请访问 Java 访问修饰符


Java 对象

对象称为类的实例。例如,假设 Bicycle 是一个类,那么 MountainBicycleSportsBicycleTouringBicycle 等可以被认为是该类的对象。

在 Java 中创建对象

下面是如何创建类的对象。

className object = new className();

// for Bicycle class
Bicycle sportsBicycle = new Bicycle();

Bicycle touringBicycle = new Bicycle();

我们使用 new 关键字和类的构造方法来创建对象。构造方法类似于方法,并且名称与类名相同。例如,Bicycle()Bicycle 类的构造方法。想了解更多,请访问 Java 构造方法

在这里,sportsBicycletouringBicycle 是对象的名称。我们可以使用它们来访问类的字段和方法。

正如你所见,我们创建了两个类的对象。在 Java 中,我们可以创建一个类的多个对象。

注意:类中的字段和方法也称为类的成员。


访问类的成员

我们可以使用对象的名称加上 . 运算符来访问类的成员。例如,

class Bicycle {

  // field of class
  int gear = 5;

  // method of class
  void braking() {
    ...
  }
}

// create object
Bicycle sportsBicycle = new Bicycle();

// access field and method
sportsBicycle.gear;
sportsBicycle.braking();

在上面的例子中,我们创建了一个名为 Bicycle 的类。它包含一个名为 gear 的字段和一个名为 braking() 的方法。注意语句,

Bicycle sportsBicycle = new Bicycle();

这里,我们创建了一个名为 sportsBicycleBicycle 对象。然后我们使用该对象来访问类的字段和方法。

  • sportsBicycle.gear - 访问 gear 字段
  • sportsBicycle.braking() - 访问 braking() 方法

我们已经多次提到了方法一词。你将在下一章中详细学习 Java 方法

现在我们已经了解了什么是类和对象。让我们看一个完整的示例。


示例:Java 类和对象

class Lamp {
  
  // stores the value for light
  // true if light is on
  // false if light is off
  boolean isOn;

  // method to turn on the light
  void turnOn() {
    isOn = true;
    System.out.println("Light on? " + isOn);

  }

  // method to turnoff the light
  void turnOff() {
    isOn = false;
    System.out.println("Light on? " + isOn);
  }
}

public class Main {
  public static void main(String[] args) {

    // create objects led and halogen
    Lamp led = new Lamp();
    Lamp halogen = new Lamp();

    // turn on the light by
    // calling method turnOn()
    led.turnOn();

    // turn off the light by
    // calling method turnOff()
    halogen.turnOff();
  }
}

输出:

Light on? true
Light on? false

在上面的程序中,我们创建了一个名为 Lamp 的类。它包含一个变量:isOn 和两个方法:turnOn()turnOff()

Main 类中,我们创建了两个 Lamp 类的对象:ledhalogen。然后我们使用这些对象调用了类的方法。

  • led.turnOn() - 它将 isOn 变量设置为 true 并打印输出。
  • halogen.turnOff() - 它将 isOn 变量设置为 false 并打印输出。

类中定义的变量 isOn 也称为实例变量。这是因为当我们创建类的对象时,它被称为类的实例。并且,每个实例都将拥有自己的变量副本。

也就是说,ledhalogen 对象将拥有自己的 isOn 变量副本。


示例:在同一个类中创建对象

请注意,在前面的示例中,我们在另一个类中创建了对象,并从该类访问了成员。

但是,我们也可以在同一个类中创建对象。

class Lamp {
  
  // stores the value for light
  // true if light is on
  // false if light is off
  boolean isOn;

  // method to turn on the light
  void turnOn() {
    isOn = true;
    System.out.println("Light on? " + isOn);

  }

  public static void main(String[] args) {
    
    // create an object of Lamp
    Lamp led = new Lamp();

    // access method using object
    led.turnOn();
  }
}

输出

Light on? true

在这里,我们在同一个类的 main() 方法中创建对象。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战