首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用最终静态变量的Scala

使用最终静态变量的Scala
EN

Stack Overflow用户
提问于 2012-03-22 16:18:45
回答 2查看 763关注 0票数 4
代码语言:javascript
运行
复制
class Foo(bar: String) {
  import Foo.Bar
  def this() = this(Bar) // this line fails, it seems I can only do
                         // def this() = this(Foo.Bar)  
}

object Foo {
  val Bar = "Hello Bar"
}

基本上,我在import Foo.Bar之后如何使用Bar,我真的每次都要调用Foo.Bar吗?

EN

Stack Overflow用户

回答已采纳

发布于 2012-03-22 16:36:46

辅助构造函数有外部作用域,可以防止你做这样的傻事:

代码语言:javascript
运行
复制
class Silly(foo: String) {
  val bar = 123
  def this() = this(bar.toString)
}

您尝试将一个参数传递给在构造函数中创建它的constructor...after。

不幸的是,这意味着import Foo.Bar不在该行的范围内。您必须使用完整路径Foo.Bar

对于类中除附加构造函数之外的所有内容,Foo.Bar都将在作用域中作为Bar

票数 13
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9818570

复制
相关文章

相似问题

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