Scala特征 - 是否有相当于Java接口的公共静态字段?

20 java static scala public traits

在Java中:

public interface Foo {

  public static final int Bar = 0;
}
Run Code Online (Sandbox Code Playgroud)

而在Scala中,我怎么能创造一个trait FooBar,我可以访问它为:Foo.Bar

Chr*_*ain 31

您可以创建一个伴随对象(使其等效于静态)并使用最终的val关键字定义变量(使其等效于最终常量):

trait Foo { }

object Foo { 
  final val Bar = 0
}
Run Code Online (Sandbox Code Playgroud)

这里有更多关于此的内容

  • 使它成为`final val`将使它像Java一样工作 - 即作为常量,而不是每次读取的值. (7认同)