Возможно, это изменилось в Scala 2.8.1, но предложенный domain$Foo$.MODULE$
не работает.Вы должны использовать domain.package$Foo$.MODULE$
.
И это немного отличается для объектов, методов и т. Д. Учитывая класс scala:
package object domain {
object foo
def bar = 42
val baz = 1.0
}
Вы можете получить доступ к foo
, bar
и baz
в Java, например:
domain.package$foo$.MODULE$
domain.package$.MODULE$.bar()
domain.package$.MODULE$.baz()
Пока я пытался это выяснить, я думал, что у нас проблемы, потому что Scala генерирует класс с именем package
, который, конечно, вы не можете импортироватьна Яве.К счастью, нам нужен только сопутствующий объект package$
, который вы можете импортировать.