Scala对象和特征具有相同的名称

时间:2018-04-09 16:23:54

标签: scala object traits

在Scala中,类和对象可以是伴侣(同名,同一文件)

我遇到了Scala源代码,其中一个文件具有在其中定义的特征和对象,并且两者具有相同的名称,但是对象没有扩展特征。

这种风格好吗?

2 个答案:

答案 0 :(得分:3)

是的,在案例特征或对象中,同名对象成为伴侣对象,您可以在下面看到代码,您可以在课堂上访问私人成员并特征两种情况

性状

trait Simple {
private def line = "Line"
}

object Simple {
val objTrait = new Simple{}
def lineObj=objTrait.line
}

Simple.lineObj

class Simple {
private def line = "Line"
}

object Simple {
val objTrait = new Simple{}
def lineObj=objTrait.line
}

Simple.lineObj

答案 1 :(得分:0)

object的典型用例是您在Java中标记为static的方法和字段,如果有帮助的话。

object不会延伸trait / class,它会伴随它,因此术语伴侣对象

相关问题