原討論:http://stackoverflow.com/questions/1755345/scala-difference-between-object-and-class
class是定義是描述。它依照方法、或者其他組成元素定義一個類型。
object是單例。它是你所定義的類的唯一實例。每個代碼中的object都將創建一個匿名類,這個匿名類繼承了你聲明本object想要實現的類。
這個類在scala源代碼中不可見——所以,使用反射的方式來使用它!
class X { // 用法一:Prefix to call def m(x: Int) = X.f(x) // 用法二:Import and use import X._ def n(x: Int) = f(x) } object X { def f(x: Int) = x * x }
方法一:相當於Java中的靜態調用方式。但是scala沒有static的概念(static是反面向對象的概念)
方法二:應該算反射的使用方法?先引用,然後就直接調用了。