类、对象和实例之间的区别

2022-08-31 09:40:48

Java中的类,对象和实例是什么?


答案 1

是用于创建对象的蓝图。对象是类的实例 - 它是您使用特定类创建的具体“事物”。因此,“对象”和“实例”是一回事,但“实例”一词表示对象与其类的关系。

如果您看一个示例,这很容易理解。例如,假设您有一个类 。你自己的房子是一个对象,是类 的一个实例。妹的房子是另一个对象(类的另一个实例)。HouseHouseHouse

// Class House describes what a house is
class House {
    // ...
}

// You can use class House to create objects (instances of class House)
House myHouse = new House();
House sistersHouse = new House();

该类描述了房屋的概念,并且有特定的混凝土房屋,它们是类的对象和实例。HouseHouse

注意:这在 Java 中与在所有面向对象的编程语言中完全相同。


答案 2

Java(以及任何其他编程语言)是根据类型建模的。在理论层面上,是某些信息量的表示形式,类型是一组值。当我们说值 X 是 Y 类型的实例时,我们只是说 X 是 Y 类型的值集的成员。

这就是“实例”一词的真正含义:它描述的是一种关系,而不是一种事物。

Java编程语言的类型系统支持两种类型,基元类型引用类型。引用类型进一步分为数组类型。Java 对象是引用类型的实例。

对象是类实例或数组。(JLS 4.3.1)

这就是类型理论的观点。

在实践中,大多数Java开发人员将单词“instance”和“object”视为同义词。(这包括我,然后我试图快速解释一些事情。大多数开发人员使用“值”而不是“实例”来指代基元类型的实例。