Object與Class的區別


1.在Scala中聲明private變量,Scala編譯器會自動生成get,set方法

2.在Scala中變量需要初始化

3.在Scala中沒有靜態修飾符,在object下的成員全部都是靜態的,如果在類中聲明了與該類相同的名字的object則該object是該類的”伴生對象”

可以理解為Scala把類中的static集中放到了object對象中,伴生對象和類文件必須是同一個源文件,可以用伴生對象做一些初始化操作.

4.在Java中可以通過interface實現多繼承,在Scala中可以通過特征(trait)實現多重繼承,但是與Java不同的是,它可以定義自己的屬性和實現方法體

5.object不能提供構造器參數,也就是說object必須是無參的

 

  • Scala中object與class的區別
  • 在Scala中,類名可以和對象名為同一個名字,該對象稱為該類的伴生對象,類和伴生對象可以相互訪問他們的私有屬性,但是它們必須在同一個源文件中
  • 類只會被編譯,不能直接執行,類的聲明和主構造器在一起被聲明,在一個類中,主構造器只有一個.
  • 類和它的伴生對象可以相互訪問其私有成員
  • class和object的一個差別是,單例對象不帶參數,而類可以.因為你不能用new關鍵字實例化一個單例對象,你沒有機會傳遞給它參數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。