首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在scala中,为什么类中的类型别名不能用于继承?

在scala中,为什么类中的类型别名不能用于继承?
EN

Stack Overflow用户
提问于 2017-01-03 06:44:37
回答 0查看 301关注 0票数 0

我定义了以下类:

文件: PyRef.scala:

代码语言:javascript
复制
package mypackage
class PyBinding() {
...
}

trait PyRef {

  type Binding = PyBinding
}

文件: Link.scala:

代码语言:javascript
复制
class Link() extends PyRef {

  override type Binding = Link.PyBindingImpl
}

object Link {
  class PyBindingImpl() extends PyRef#Binding() {
  }
}

在编译时,抛出了以下错误:

代码语言:javascript
复制
Error:(222, 34) class type required but mypackage.PyBinding found
                 ) extends PyRef#Binding() {

为什么会发生这种情况,我应该做些什么来规避它?我使用的是Scala 2.10。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41434146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档