我不确定是否应该在scala中选择带有伴随对象的类,而不是仅使用对象。 我只是想使用该对象,但仅仅因为我只需要该类的一个实例。另一方面,我正在阅读带有伴侣对象的课程是一种很好的做法。 那么,关于何时使用这些或其他的任何帮助?
由于
答案 0 :(得分:1)
object
关键字(专门为此目的引入该语言)。object
关键字所以不需要class
。
但是,如果您正在使用一些依赖注入框架,并且您希望单个对象由DI容器实例化,并且此框架要求singleton对象是具有普通构造函数的普通旧Java类的实例,您可能希望使用class
代替。
在所有其他情况下,我认为没有任何理由不使用该语言的内置object
功能。
答案 1 :(得分:0)
一种流行的伴侣对象模式如下
class Abc {
...
}
object Abc {
def apply(): Abc = new Abc()
}
所以不要写
val abc: Abc = new Abc()
我们可以简单地写
val abc: Abc = Abc()
但如果您只需要一个对象,我认为只有一个对象是没有害处的。
不要忘记伴侣对象是放置implicit
的最佳位置。