努力しています:
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>();
()
}
}
..