J'ai essayé:
class Foo(bar: Int)
vs:
class Foo(private val bar: Int)
et ils semblent se comporter de la même, bien que je ne pouvais pas trouver n'importe où en disant qu' (bar:
Int)
s'étend à d' (private val bar: Int)
donc ma question est, sont-ils
identiques ou semblables?
Sur une note de côté, j'ai essayé d'utiliser -Xprint:typer
sur ces morceaux de code et ils
produire le même code, sauf pour une ligne supplémentaire dans le second. Comment puis-je
lire cette ligne supplémentaire?
..
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>();
()
}
}
..