首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以访问匿名外部类吗?

可以访问匿名外部类吗?
EN

Stack Overflow用户
提问于 2017-07-22 00:02:55
回答 1查看 130关注 0票数 0

最简单的方法是在外部类主体中指定this声明,以便为每个类定义唯一的名称。但我希望在不修改外部类的情况下编写访问权限。

代码示例:

代码语言:javascript
运行
复制
trait Test {
  def z = new Test {
    val a = 1
    def y = new Test {
      val a = false
      def x = new Test {
        val b = 2 * a
      }
    }
  }
}

在定义val b时,我希望访问outer.outer.a,而不仅仅是外部。a

如何指定匿名类的this?如果是Named,我可以写Named.this,但是匿名类没有名字。

EN

回答 1

Stack Overflow用户

发布于 2017-07-22 03:14:30

这可以通过self types来实现

代码语言:javascript
运行
复制
trait Test { greatGrandparent =>
  def z = new Test { grandparent =>
    val a = 1
    def y = new Test { parent =>
      val a = false
      def x = new Test {
        val b = 2 * grandparent.a
      }
    }
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45242117

复制
相关文章

相似问题

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