Scala trait - Is there an equivalent of Java inter

2019-02-16 05:59发布

问题:

In Java:

public interface Foo {

  public static final int Bar = 0;
}

And in Scala, how can I create a trait Foo that has Bar, and I can access it as: Foo.Bar?

回答1:

You can create a companion object (to make it the equivalent of static) and define the variable there using the final val keywords (to make it the equivalent of a final constant):

trait Foo { }

object Foo { 
  final val Bar = 0
}

Lots more on this here