类、对象和实例之间的区别
Java中的类,对象和实例是什么?
类是用于创建对象的蓝图。对象是类的实例 - 它是您使用特定类创建的具体“事物”。因此,“对象”和“实例”是一回事,但“实例”一词表示对象与其类的关系。
如果您看一个示例,这很容易理解。例如,假设您有一个类 。你自己的房子是一个对象,是类 的一个实例。妹的房子是另一个对象(类的另一个实例)。House
House
House
// 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();
该类描述了房屋的概念,并且有特定的混凝土房屋,它们是类的对象和实例。House
House
注意:这在 Java 中与在所有面向对象的编程语言中完全相同。
Java(以及任何其他编程语言)是根据类型和值建模的。在理论层面上,值是某些信息量的表示形式,类型是一组值。当我们说值 X 是 Y 类型的实例时,我们只是说 X 是 Y 类型的值集的成员。
这就是“实例”一词的真正含义:它描述的是一种关系,而不是一种事物。
Java编程语言的类型系统支持两种类型,基元类型和引用类型。引用类型进一步分为类和数组类型。Java 对象是引用类型的实例。
对象是类实例或数组。(JLS 4.3.1)
这就是类型理论的观点。
在实践中,大多数Java开发人员将单词“instance”和“object”视为同义词。(这包括我,然后我试图快速解释一些事情。大多数开发人员使用“值”而不是“实例”来指代基元类型的实例。