1
我不知道为什么这不会编译 - 我试图使用内部类(或特征),使其他对象可以与产生的“RequestReturn”,但只有特质请求和它的后代可以首先构造对象。我可能会采取错误的方法,但不应该在逻辑上工作的代码?我已经将RequestReturn构造函数标记为protected [Request],所以它有理由说类RequestContinue也能够调用构造函数。受保护的斯卡拉内部类构造函数
trait Request {
class RequestReturn protected[Request](val x:Any)
def fulfill(item:Boolean):RequestReturn = new RequestReturn(item) //this line compiles
}
trait RequestContinue extends Request{
override def fulfill(item:Boolean):RequestReturn = new RequestReturn(item) //this won't compile
}
错误:(19,54)在类RequestReturn构造RequestReturn不能在性状RequestContinue访问 访问受保护的构造RequestReturn不允许的,因为 包围性状RequestContinue在包....是不是一个的子类 类RequestReturn在性状请求,其中目标被定义 倍率DEF履行(项目:布尔型):RequestReturn =新RequestReturn(项目) ^