Scala特质 - 是否有Java接口公共静态字段的等效项?

21

在Java中:

public interface Foo {

  public static final int Bar = 0;
}

在Scala中,我该如何创建一个trait Foo,它有一个Bar,并且我可以通过Foo.Bar访问它?

1个回答

34
你可以创建一个伴生对象(相当于静态对象),并在那里使用final val关键字定义变量(相当于常量):
trait Foo { }

object Foo { 
  final val Bar = 0
}

更多关于这个主题的内容可在这里找到。


7
将其更改为final val将使其像Java一样工作--即作为常量,而不是每次都读取的值。 - Daniel C. Sobral

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接