类的实例和对象之间的基本区别是什么?

5

一个类的实例和对象之间的基本区别是什么?我一直很困惑它们之间到底有什么不同。

7个回答

5

实例是内存中的一个对象。基本上当你使用它们时,你创建对象并对它们进行实例化。

以下是一篇关于类、对象和实例的好文章,作者讨论了Java,但它适用于所有面向对象编程: 类 vs 对象 vs 实例


3
什么是“人类”和“你”的区别? “人类”是一个类(有很多个人),但是“你”只是其中的一个(你是人类的一个对象)。 什么是实例?有一些函数不仅适用于对象,也适用于类。例如:human::isMammal() == true, human::isArachnid() == false。您不需要一个类human的对象来调用这些函数(因为这些函数不使用任何特殊的对象属性:所有人类都是哺乳动物而不是蜘蛛),所以使用实例即可。

问题不是“类和实例之间的区别是什么”。 - Micha
Micha,非常感谢你,你说得完全正确!我太不注意了。在你的评论后,我扩展了我的答案。 - Ilya

2

简单来说,对象是类的一个实例。

当人们谈论对象时,它更具体地指代类中变量的值的特定实例。希望我至少没有使你感到困惑。


2

我认为大多数程序员会将“object”和“instance”互换使用。一些学究可能会试图区分它们,但如果这些区别不被术语的大多数用户所认可,则这些区别是毫无意义的。

“Class”当然是对象的一种模板或设计。


1

对象是某物的定义,而实例是该物的一种表现形式。以椅子为例,根据定义,它有一个座位、3个或更多的腿和一个靠背。这就是对象。请注意,我们只有一个定义,而没有实际对象。现在如果我们制造了一把椅子,那么我们就有了一个实例。
在大多数编程语言中,使用new运算符来创建实例...

 Chair c = new Chair();

还有其他方法。 在这种情况下,Chair是对象,c是实例。我们也可以轻松地创建其他椅子,这对对象定义没有影响。


1

实例是对象的具体实现。当应用程序运行时,实际上是该程序的一个实例在运行。例如,如果我们有一个代表汽车的对象,那么宝马就可以是其实例。


-1

类文件源代码定义了对象。要在其他代码中使用该对象,您需要创建一个实例:

对象定义:

public class Person {
    String mName;
    public Person(){}
    public Person(String name){
        mName=name;
    }
    public void setName(String name){
        mName=name;
    }
    public String getName(){
        return mName;
    }
}

对象使用(实例):

Person me=new Person("John Doe");
//me is an instance of the person object;
Person you=new Person("John Smith");
Person spouse=new Person("Jane Doe");
//lots of instances but only one Person Object
String myName=me.getName();

接下来请了解静态对象 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接