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關鍵字實例化一個單例對象,你沒有機會傳遞給它參數