对初学者友善的系列文章-了解Java类和对象

(我一直觉得自己面向对象的理解不到位,因此决定把面向对象的一系列文章完完整整翻译一遍,加深理解。)
    在本教程中,您将借助示例学习Java中类和对象的概念。
    Java是一种面向对象的编程语言。面向对象方法的核心概念是将复杂问题分解为更小的对象。
    对象是具有状态和行为的实体。例如,一个自行车是一个对象,它有:

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

    在了解对象之前,首先让我们了解Java中的类。

1. Java类

    类是对象的蓝图。在创建对象之前,我们首先需要定义类。
    我们可以把类看作是房子的草图(原型)。它包含了关于地板、门、窗等的所有细节。根据这些描述,我们建造了房子。房子就是对象。
    根据同一草图可以建造出很多房子,我们也可以根据一个类创建许多对象。

1.1 在Java中创建类

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

class ClassName {
  // fields
  // methods
}

    这里,fields(变量)和methods(方法)分别代表对象的状态和行为。

  • fields用于存储数据
  • methods用于执行一些操作

    为了我们的bicycle对象,我们可以创建类为:

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是一个原型。现在,我们可以使用原型创建任意数量的自行车,并且,所有自行车将共享原型的变量和方法。
    注意:我们使用了关键字private和public。这些被称为访问修饰符。

2. Java对象

    对象被称为类的实例。例如,假设Bicycle是一个类,那么MountainBicycle(山地自行车)、SportsBicycle(运动自行车)、TouringBicycle(旅游自行车)等都可以被视为类的对象。

2.1 在Java中创建对象

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

className object = new className();

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

Bicycle touringBicycle = new Bicycle();

    我们使用了new关键字和类的构造函数来创建一个对象。构造函数与方法类似,并且具有与类相同的名称。例如,Bicycle()是Bicycle类的构造函数。
    这里,sportsBicycle和touringBicycle是对象的名称。我们可以使用它们来访问类的字段和方法。
    如您所见,我们创建了该类的两个对象。我们可以在Java中创建一个类的多个对象。
    注意:类的字段和方法也称为该类的成员。

3. 访问类的成员

    我们可以使用对象的名称和点运算符访问类的成员。
    例如:

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();

    这里,我们创建了一个Bicycle类的对象,名为sportsBicycle。然后,我们使用对象访问类的变量和方法。

  • sportsBicycle.gear,访问gear变量
  • sportsBicycle.braking(),访问braking()方法

    我们已经多次提到方法一词。您将在下一章中详细了解Java方法。
    现在我们了解了什么是类和对象。让我们看一个完整的示例。

3.1 示例: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);
  }
}

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类的led和halogen。然后我们使用对象调用类的方法。

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

    在类中定义的isOn变量也被称为实例变量。这是因为当我们创建一个类的对象时,它也被称为类的实例。并且,每个实例将具有其自己的变量副本。
    这就意味着,led和halogen将会有它们自己的isOn变量副本。

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

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

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()方法中创建对象。

参考文档

[1]Parewa Labs Pvt.Java InputStream Class[EB/OL].https://www.programiz.com/java-programming/class-objects,2020-01-01.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值