每次在java中调用构造函数时都会创建对象吗?

时间:2016-12-14 06:52:00

标签: java inheritance constructor

每次在java中调用构造函数时都会创建对象吗? 这里Apple类继承自Fruit.Apple对象。由于它继承自Fruits,Fruit的构造函数被称为(构造函数链接)。这意味着Fruit的对象已被初始化。

但是输出表明只创建了一个对象,Apple对象。它们具有相同的哈希码。

有人可以解释一下吗?。我预计会有2个对象。第一个Fruit对象应该已经初始化,然后是apple对象。

//一个Java程序来演示这两个超类 //和子类构造函数引用相同的对象

SessionFactory

2 个答案:

答案 0 :(得分:1)

构造函数调用不会创建新对象,它会初始化新创建的对象。

使用Apple创建new Apple()对象时,会创建一个对象。初始化该对象的属性涉及执行多个构造函数(AppleFruitObject)。

答案 1 :(得分:0)

对象的构造函数用于指定对象在创建时需要的任何细节,如设置一些变量。

您使用新Apple()的那一刻是创建对象的位置,并在构造函数中初始化代码。