考虑包com.example。在内部包com.example中,我们有两个名为Foo和Bar的类。
还有一个名为Baz的对象位于名为com.other的包中。有没有办法只使用一个import语句将Baz导入Foo和Bar?换句话说,如何定义影响包(com.example)中所有类(Foo和Bar)的导入块?
我尝试了以下操作,但它无效。
// filename:package.scala location:com/example
package com {
package object example {
import other.Baz
}
}
// filename:Foo.scala location:com/example
package com.example {
class Foo {
// Baz should be in scope here
Baz.methodCall()
}
class Bar {
// Baz should be in scope here too
Baz.methodCall()
}
}
我尝试了广泛搜索,但我不确定如何说出这种情况。谢谢你的帮助。
答案 0 :(得分:0)
您可以尝试将其绑定到val
。
package com {
package object example {
val Baz = other.Baz
}
}
如果您不希望Baz
在外面可见:
package com {
package object example {
private[example] val Baz = other.Baz
}
}