Ich habe es versucht:
class Foo(bar: Int)
vs:
class Foo(private val bar: Int)
und sie scheinen sich gleich zu verhalten, obwohl ich nirgendwo etwas finden konnte, das sich (bar:
Int)
erweitert, (private val bar: Int)
so dass meine Frage lautet: Sind diese identisch / ähnlich?
Nebenbei bemerkt, ich habe versucht, -Xprint:typer
diese Codeteile zu verwenden, und sie erzeugen denselben Code, mit Ausnahme einer zusätzlichen Zeile in der zweiten. Wie lese ich diese zusätzliche Zeile?
..
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
.