我有一個奇怪的(也許是愚蠢的)問題:我想知道....爲什麼java的「對象」類稱爲「對象」,而不是「類」?爲什麼稱爲「Object」的java「最高」超類?
例如,對於ArrayList的磨片有以下層次
Object ->
Collection ->
List ->
ArrayList
OK:ArrayList的是一個清單...名單是一家集...但集合(類中的所有收藏品的)是不是對象......這是一堂課!
我有一個奇怪的(也許是愚蠢的)問題:我想知道....爲什麼java的「對象」類稱爲「對象」,而不是「類」?爲什麼稱爲「Object」的java「最高」超類?
例如,對於ArrayList的磨片有以下層次
Object ->
Collection ->
List ->
ArrayList
OK:ArrayList的是一個清單...名單是一家集...但集合(類中的所有收藏品的)是不是對象......這是一堂課!
嘛,你使用Object
申報實例的(不是更好指定的)對象一樣,同樣使用Collection
申報實例的集合。
可以聲明類型類的對象也與java.lang.Class<T>
,其中它的一個實例表示對象
Collection
的類是一個接口(有效一種特殊類型的類)。
ACollection
是一個對象。
我的問題是:爲什麼不使用類而不是對象:一個集合的實例是一個對象...但類(或接口)集合不是一個對象...它是一個「類」 – Salles 2012-03-14 17:55:43
@Salles對象是所有對象的類;集合是所有集合的類。 – 2012-03-14 19:36:12
你的假設是不正確的。對於ArrayList的正確hiearchy是:
的ArrayList - > AbstractList的 - > 類AbstractCollection - > 對象
因此,即使ArrayList的對象已在其層次結構中的第一件事情。
所有對象的默認超類是Object。如果你聲明一個沒有超類的類,它的超類是Object。 – 2012-03-14 17:45:40
你真的不能擁有一個物體的超類,你能嗎?只有班級應該有超類。 – drozzy 2012-03-14 20:10:40