5

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

4

7 回答 7

5

实例是内存中的对象。基本上,您在使用它们时创建对象并实例化它们。

这是一篇关于 Classes Vs Objects Vs Instances 的好文章,他说的是 Java,但它适用于所有面向对象的编程: Class vs Object vs Instance

于 2013-09-25T11:34:03.790 回答
3

“人”和“你”有什么区别?“人”是一类(人有很多),而“你”只是一个类(你是人的对象)。什么是实例?有一些函数不仅适用于对象,也适用于类。示例:human::isMammal() == true,human::isArachnid() == false。您不需要人类类的对象来调用此类函数(因为这些函数不使用对象的任何特殊属性:所有人类都是哺乳动物而不是蛛形纲动物),因此使用实例就足够了。

于 2013-09-25T11:34:10.230 回答
2

简单来说,

Object 是类的一个实例。

当人们谈论对象时,它更特定于特定实例(类中变量中的值)。我希望,我至少没有让你感到困惑。

于 2013-09-25T11:38:33.753 回答
2

我认为大多数程序员会交替使用“对象”和“实例”。一些学究可能会试图做出区分,但如果这些区分不被大多数术语使用者所认可,那么这种区分是没有意义的。

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

于 2013-09-25T11:41:11.423 回答
1

对象是某事物的定义,而实例是该事物的表现形式。例如,根据定义,一把椅子有一个座位、3 条或更多条腿和一个靠背。这将是对象。请注意,我们只有一个定义,而不是一个对象本身。现在,如果我们创建一把椅子,我们就有了一个实例。
在大多数语言中,new 运算符是创建实例的方式......

 Chair c = new Chair();

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

于 2013-09-25T11:46:27.320 回答
1

实例是对象的特定实现。当应用程序运行时,实际上该程序的一个实例会运行,例如,如果我们有一个汽车对象,bmw 可以是该程序的一个实例

于 2013-09-25T11:48:00.150 回答
-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();

接下来阅读静态对象:)

于 2013-09-25T12:04:23.630 回答