【发布时间】:2013-01-19 14:57:19
【问题描述】:
我一直在尝试:
class Foo(bar: Int)
对比:
class Foo(private val bar: Int)
虽然我找不到任何地方说(bar:
Int) 扩展为(private val bar: Int),但它们的行为似乎相同,所以我的问题是,这些是
相同/相似?
附带说明,我一直在尝试在这些代码片段上使用 -Xprint:typer,它们
生成相同的代码,除了第二个中的额外行。我如何能
阅读那额外的一行?
..
class Foo extends scala.AnyRef {
<paramaccessor> private[this] val bar: Int = _;
def <init>(bar: Int): this.Foo = {
Foo.super.<init>();
()
}
}
..
..
class Foo extends scala.AnyRef {
<paramaccessor> private[this] val bar: Int = _;
<stable> <accessor> <paramaccessor> private def bar: Int = Foo.this.bar;
def <init>(bar: Int): this.Foo = {
Foo.super.<init>();
()
}
}
..
【问题讨论】:
标签: scala scala-primary-constructor