在Scala中,object
和class
都被用于定義類,但是它們有一些重要的區別:
class
用于創建類的實例對象,而object
用于創建單例對象。也就是說,class
可以有多個實例對象,而object
只能有一個實例對象。object
可以看作是一個類的伴生對象,其中定義了該類的靜態方法和屬性。
class
可以被繼承,而object
不能被繼承。由于object
只能有一個實例對象,因此它沒有繼承的概念。
class
可以有構造函數,而object
不能有構造函數。class
的構造函數用于創建類的實例對象,它可以有參數和重載,而object
沒有構造函數,它的實例對象在定義時就被創建了。
class
可以被實例化,而object
不能被實例化。由于object
只能有一個實例對象,因此不能通過new
關鍵字來實例化它。
總結來說,class
用于創建可以有多個實例對象的類,而object
用于創建只有一個實例對象的單例對象。