Java中的对象

时间:2020-01-09 10:34:48  来源:igfitidea点击:

一旦在Java中创建了一个定义新数据类型的类,该类便可以用于创建该数据类型的对象(类)。因此,Java中的对象是类的实例,该类从类获取其状态和行为。

在类中定义的字段也称为实例变量,因为类(对象)的每个实例都获得了自己的这些变量副本。因此,这些字段为每个对象提供状态。

类中具有的方法定义其对象的行为。方法在对象的内部状态上运行,并用作对象间通信的主要机制。

用Java创建对象

用Java创建对象包括三个部分:

1Declaration –在此步骤中,声明一个类类型的变量。假设我们有一个名为MyClass的类,则可以将MyClass类型的对象声明为

MyClass myObj;

2实例化–使用new运算符创建一个对象。新操作符返回对其创建的对象的引用,该引用已分配给声明的变量()。
例如myObj = new MyClass();

3初始化–使用new运算符创建对象后,将调用构造函数,该构造函数将初始化新对象。

通常,在代码中,我们将上述三个步骤组合为一个语句,用于在Java中创建类的对象。

MyClass myObj = new MyClass();

Java对象创建示例

让我们看一个用Java示例创建对象的全过程。使用的类如下。

class MyClass {
  int num;
  String name;
  // Constructor
  MyClass(int num, String name){
    this.num = num;
    this.name = name;
  }
  public void displayValues() {
    System.out.println("Num- " + num + " Name- " + name);
  }
  ..
  ..
}

我们将声明一个MyClass类型的变量,如下所示:

MyClass myObj;

这将通知编译器我们将使用myObj引用类型为MyClass的数据。在此阶段声明引用变量不会创建对象,它只是当前未引用任何对象的引用变量。下图说明了对象创建的这一阶段。

以下语句通过为新对象分配内存并返回对该内存的引用来实例化一个类。

myObj = new MyClass(10, "theitroad");

new运算符还调用对象构造函数以初始化创建的对象。下图说明了执行此语句的结果:

将代码捆绑到单个软件对象中可带来许多好处,包括:

  • 模块化:可以独立于其他对象的源代码编写和维护对象的源代码。创建对象后,可以轻松地在系统内部传递对象。
  • 信息隐藏:通过仅与对象的方法进行交互而不与对象的字段直接进行交互,其内部实现的详细信息仍对外界隐藏。
  • 代码重用:如果某个对象已经存在(也许由其他软件开发人员编写),则可以在程序中使用该对象。这使专家可以创建经过适当编码和测试的特定于任务的功能,并将其打包为jar。然后,我们可以通过创建这些类的对象在自己的代码中使用它们。
  • 可插拔性和调试简便性:如果发现某个特定对象有问题,则只需将其从应用程序中删除,然后插入另一个对象作为替换对象即可。这类似于解决现实世界中的机械问题。如果螺栓断裂,请更换,而不是整个机器。