实例对象

时间:2012-05-22 12:06:11

标签: java class object instance

当我们在java中有基类和子类时,我们实例化子类,我们得到一个实例或两个实例?如果我们得到两个对象,我们得到多少个实例?一个实例是否包含基类和子类的两个对象或两个单独的实例?

6 个答案:

答案 0 :(得分:4)

如果实例化一个子类,您将只获得一个对象/实例。这个单实例将包含子类的所有字段(包括其父类定义的字段)。

请记住,子类意味着您要从现有父级定义派生的新类,即它继承这些定义。因此,如果父类声明了一个名为id的字段,则子类也将有一个名为id的字段,因此该子类的实例化将包含id字段。该字段在父类中声明,但它确实属于子类。

如果实例化子类,则不存在父实例化。没有对象存在,其运行时类是父类。

(我不确定你的问题中“对象”和“实例”之间的区别是什么。你以一种暗示它们不同的方式使用它们,但通常它们的意思完全相同。是特定类的实例。)

答案 1 :(得分:4)

你得到一个属于两个类的实例 - 基类和子类。

尝试用这个例子来理解它:有一个类Mammal和类Human。你属于他们两个 - 然而,你自己只有一个例子。如果房间里有两个人,你会有两个班级的实例!

答案 2 :(得分:1)

Instance == object ...两者都是一样的,只有2个不同的名字。如果您创建一个对象(可能是子类),则会得到一个对象。

答案 3 :(得分:0)

  

那么实例和对象之间的逻辑区别是什么?

在您使用这些词语的上下文中,没有区别。 (类的)实例是一个对象,反之亦然。

但是,在更广泛的上下文中,(类型)实例不一定是对象 - 它取决于类型。例如,您可以42int类型的“实例”。

答案 4 :(得分:0)

  

当我们在java中有基类和子类时,我们实例化sub   class,我们得到一个实例或两个实例?

我们得到一个实例,因为每个Java类实例都包含在一个对象中。

  

如果我们得到两个对象,我们得到了多少个实例?

术语“实例”与对象同义。说一个实例只是说一个对象的另一种方式。

  

一个实例是否包含base和sub class的两个对象   单独的实例?

没有。 Java编译器创建包含基本和扩展功能的类字节码,因此实例化该类会产生单个对象。

答案 5 :(得分:0)

new classA();  //Here you create an instance of a class
classA ob      //create object named "ob" and datatype "classA"

现在我们将实例分配给对象

 classA ob = new classA();

int num = 10