2014-01-23 30 views
-1

我只想知道天氣Java是純粹的面向對象編程與否,導致我們在Java中有int,float等原始數據類型,有人說java不是純粹面向對象的程序,但我知道原始數據類型也是「Class」類的對象。 現在我來談談我的實際問題,如果基本數據類型也是「Class」類的對象,那麼我們不能通過使用任何集合類來存儲和檢索它們?當我們嘗試在任何集合類中存儲任何原始類型時,爲什麼會發生自動裝箱?這意味着作爲集合文檔說,如果我們能夠在集合類中只存儲對象而不是原始數據類型,那麼數據類型不再被視爲對象。 ??純對象導向與否

+0

請參閱:[是Java 100%面向對象](http://stackoverflow.com/questions/974583/is-java-100-object爲導向) – 2014-01-23 16:28:18

+1

原語不是Class類的對象。 –

+0

@IsmailBadawi我認爲他們的意思是你可以通過'int.class'來獲得相應的'Class'對象。 –

回答

1

這些原始類型具有包裝類。

int - java.lang.Integer 
float - java.lang.Float 

這樣一來,你其實可以有List<Integer>

1

我將純度定義爲偏離純粹面向對象編程的編程語言的程度,該編程語言僅由對象和消息傳遞組成。換句話說,

  • 一切都是一個對象。
  • 您只需發送消息即可。

Java是遠從單純的面向對象的語言相比,像SmalltalkSelf但可能更接近比C++,所以這是向前邁進了一步。在Smalltalk例如,對象的創建是通過消息傳遞完成:

| window | 
window := Window new. 
window label: 'Hello'. 
window open 

在現代編程,我覺得更接近概念,純面向對象是ErlangAkka的角色模型。我寫了一段時間的博客文章:what is object-oriented programming?