按scala的教程做一个队列的例子,编译时候报错不知道是什么意思?

Error:(330,21)constructorQueueinclassQueuecannotbeaccessedinclasshelloAccesstoprotect... Error:(330, 21) constructor Queue in class Queue cannot be accessed in class hello
Access to protected constructor Queue not permitted because
enclosing class hello is not a subclass of
class Queue in package immutable where target is defined
val empty = new Queue[Int]()
^
展开
 我来答
百度网友c768de2e9
推荐于2016-11-15 · 超过18用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:24.6万
展开全部

scala中Queue的声明是这样的:

class Queue[+A] protected(protected val in: List[A], protected val out: List[A])
         extends AbstractSeq[A]
            with LinearSeq[A]
            with GenericTraversableTemplate[A, Queue]
            with LinearSeqLike[A, Queue[A]]
            with Serializable {
 .........
}


所以可以看出它的构造函数式protected的,因此你不能使用new访问它的构造函数。

不过你可以使用它的伴生对象来生成一个Queue的实例:

val empty = Queue[Int]()
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式