对象与实例
面向对象编程(OOP)是最流行的编程范式之一。在OOP中,重点是根据现实世界的元素来考虑要解决的问题,并用对象及其行为来表示问题。许多支持OOP关键方面的编程语言(称为OOP语言)都将类作为主要的编程工具。它们被称为基于类的。类是现实世界对象的抽象表示。类具有称为属性的属性。属性被实现为全局变量和实例变量。类中的方法表示或定义这些类的行为。类的方法和属性称为类的成员。用非常简单的术语来说,类是一个特定现实对象的蓝图或模板。 So, an object is the memory block(s) used to store necessary information according this blueprint. Instance is a memory block that refers an object.
什么是对象?
对象是实例化类的结果。实例化是获取蓝图并定义每个属性和行为的过程,以便生成的对象实际上代表一个真实的对象。对象是分配给存储诸如变量、方法或函数等信息的专用且连续的内存块。对象是在Java编程语言中使用new操作符创建的。例如,如果有一个名为Car的类,那么可以使用下面的代码来创建Car类的对象。
新车();
这里,new操作符创建了一个Car对象,并返回一个对object的引用。new操作符和Car类的构造函数用于创建新对象。对象的生命周期从调用它的构造函数开始,直到它被销毁为止。一旦对象没有被引用,它将被垃圾回收器删除/销毁。
什么是实例?
实例是一个内存块,其中包含对对象的引用。换句话说,Instance将保留存储对象的起始内存块的地址。实际上,实例的名称可以用来访问对象内存区域的开始部分。由运行时引擎计算起始内存的偏移量,以便我们可以转到存储单个数据或方法引用的位置。下面的Java代码片段可用于创建Car对象的实例。
Car myCar = new Car();
如上所述,new操作符创建Car对象并返回对它的引用。这个引用存储在Car类型变量myCar中。myCar是创建的Car对象的实例。
对象和实例的区别是什么?
对象是一个连续的内存块,它存储将该对象与其他对象区分开来的实际信息,而实例是对对象的引用。它是一块内存,指向对象存储的起始地址。两个实例可以引用同一个对象。对象和实例的生命周期是不相关的。因此,实例可能为空。一旦所有指向一个对象的实例被移除,该对象将被销毁。
留言回复