Ne scala constructeur par défaut des paramètres de privé val?

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 que (bar:
Int)
étend à (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>();
    ()
  }
}
..
InformationsquelleAutor none | 2013-02-04