努力しています:
class Foo(bar: Int)
対:
class Foo(private val bar: Int)
そして、それらは同じように動作しているように見えますが、どこかに(bar:
Int)
拡張して(private val bar: Int)
それが拡張されていると言っているのを見つけることができませんでした。
余談ですが、私は-Xprint:typer
これらのコード部分で使用しようとしていますが、2番目の行の余分な行を除いて同じコードを生成します。その余分な行をどのように読みますか?
..
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>();
()
}
}
..
val
ます。