对象和子类是一样的吗?

时间:2015-05-25 04:33:54

标签: class object

有人可能已经回答了这个问题,但我很困惑。如果我要创建一个名为Bug的类,会有像Firefly,Mosquito等对象。但我听说那些可以是Bug类的子类。那些子类也可以是对象吗?并且术语(子类和对象)是否可以互换?

2 个答案:

答案 0 :(得分:1)

Firefly和Mosquito将是Bug的继承类或(不太可能的)子类。对象是实例,而不是类。想想像模板这样的类,以及像切口这样的对象。类包含用于创建对象的信息,例如它们是什么类型的对象,它们可以做什么,它们保存什么信息等等。对象是实际保存数据的这些类的实例。

例如,您可以拥有以下内容:

public class Bug {
  ...
}

public class Mosquito extends Bug {
  ...
}

public class Firefly extends Bug {
  ...
}

每个都是课程。 MosquitoBug的继承类,Firefly也是Bug的继承类。对象是这些:

Bug my_first_bug = new Bug();
Mosquito my_first_mosquito = new Mosquito();
Firefly my_first_firefly = new Firefly();

my_first_bugmy_first_mosquitomy_first_firefly都是对象。

答案 1 :(得分:1)

没有

对象是类的实例。例如

Bug my_bug = new Bug()

"错误"是班级" my_bug"是对象。我可以拥有同一类的许多对象。

Bug my_bug = new Bug()
Bug my_bug2 = new Bug()
Bug my_bug3 = new Bug()

子类是一回事。例如(在java术语中)如果firefly扩展了Bug,我可以拥有这种类型的对象。

Firefly my_bug4 = new Firefly()

问候!

相关问题