有人可能已经回答了这个问题,但我很困惑。如果我要创建一个名为Bug的类,会有像Firefly,Mosquito等对象。但我听说那些可以是Bug类的子类。那些子类也可以是对象吗?并且术语(子类和对象)是否可以互换?
答案 0 :(得分:1)
Firefly和Mosquito将是Bug的继承类或(不太可能的)子类。对象是实例,而不是类。想想像模板这样的类,以及像切口这样的对象。类包含用于创建对象的信息,例如它们是什么类型的对象,它们可以做什么,它们保存什么信息等等。对象是实际保存数据的这些类的实例。
例如,您可以拥有以下内容:
public class Bug {
...
}
public class Mosquito extends Bug {
...
}
public class Firefly extends Bug {
...
}
每个都是课程。 Mosquito
是Bug
的继承类,Firefly
也是Bug
的继承类。对象是这些:
Bug my_first_bug = new Bug();
Mosquito my_first_mosquito = new Mosquito();
Firefly my_first_firefly = new Firefly();
my_first_bug
,my_first_mosquito
和my_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()
问候!