📜  Java类和对象

📅  最后修改于: 2020-09-26 14:12:02             🧑  作者: Mango

在本教程中,您将学习Java中的面向对象编程,并在示例的帮助下学习Java类和对象。

Java是一种面向对象的编程语言。它基于对象的概念。

这些对象具有两个特征:

  • 状态(字段)
  • 行为(方法)

例如,

  1. 是物体
    状态
    行为打开关闭
  2. 自行车是一个对象
    状态当前档两个车轮档数
    行为制动加速换档

面向对象编程的原理:

  • 封装形式
  • 遗产
  • 多态性

面向对象编程的重点是将复杂的编程任务分解为包含字段(用于存储数据)和方法(用于对字段执行操作)的对象。


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() 。在类中定义的这些变量和方法称为该类的成员

在上面的示例中,我们使用了关键字privatepublic 。这些被称为访问修饰符。要了解更多信息,请访问Java访问修饰符。


Java对象

对象称为类的实例。例如,假设Animal是一个类,那么CatDogHorse等可以视为Animal类的对象。

这是我们如何用Java创建对象的方法:

className object = new className();

在这里,我们使用构造函数className()创建对象。构造函数与类具有相同的名称,并且与方法类似。要了解有关Java构造函数的更多信息,请访问Java构造函数。

让我们看看如何创建Lamp类的对象。

// l1 object
Lamp l1 = new Lamp();
// l2 object
Lamp l2 = new Lamp();

在这里,我们使用Lamp类( Lamp() )的构造函数创建了名为l1l2的对象。

对象用于访问类的成员。让我们创建Lamp类的对象


如何访问会员?

对象用于访问类的成员。我们可以使用来访问成员(调用方法和访问实例变量) . 运算符。例如,

class Lamp {
    turnOn() {...}
}

// create object
Lamp l1 = new Lamp();

// access method turnOn()
l1.turnOn();

该语句为l1对象调用Lamp类内部的turnOn()方法。

我们已经多次提到方法一词。您将在下一章中详细了解Java方法。这是您现在需要知道的:

当您使用上述语句调用该方法时, turnOn()方法体内的所有语句都将执行。然后,程序的控制跳回到l1.turnOn()的语句;

How methods work in Java?
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

在上面的程序中,

  1. 我们创建了一个名为Lamp的类。
  2. 该类具有一个实例变量isOn和两个方法turnOn()turnOff()
  3. Main类内部,我们创建了Lamp类的两个对象l1l2
  4. 然后,我们使用l1对象调用turnOn()并使用l2对象调用turnOff()
    l1.turnOn();
    l2.turnOff();
  5. turnOn()方法将l1对象的isOn变量设置为true 。并打印输出。类似地, turnOff()方法将l2对象的isOn变量设置为false并输出输出。

注意 :由于某种原因,在类内部定义的变量称为实例变量。创建对象时,它称为类的实例。

每个实例都包含自己在类内部定义的变量的副本。因此,称为实例变量。例如,对象l1和l2的isOn变量不同。

在接下来的教程中,我们将探索更多有关Java的面向对象编程的知识。