我认为这更容易用一个例子来展示。
假设我有一个 Condition 案例类,其中有一个 Condition 伴随对象,用于提供替代构造函数,如下所示:
case class Condition(
field: String,
values: List[String])
}
object Condition {
def apply(field: String, value: String): Condition = {
Condition(field, List(value))
}
}
当我从另一个导入它时,我收到以下警告(最终变成错误):
import utils.query.Condition
[warn] [...]/ConditionBuilder.scala:14: imported `Condition' is permanently hidden by definition of object Condition in package query
[warn] import utils.query.Condition
[warn] ^
[warn] one warning found
我想在声明变量的类型时访问条件类型,并在执行其中一个方法时访问伴随对象
有什么方法可以实现这一点并避免这个警告(当然,除了重命名伴生对象)?