Параметры конструктора scala по умолчанию имеют значение private val?

Я пытался:

class Foo(bar: Int)

против:

class Foo(private val bar: Int)

и они, кажется, ведут себя одинаково, хотя я не мог найти нигде, говоря, что(bar: Int) расширяется до(private val bar: Int) поэтому мой вопрос, они идентичны / похожи?

На заметку, я пытался использовать-Xprint:typer на этих фрагментах кода, и они производят тот же код, за исключением дополнительной строки во второй. Как мне прочитать эту дополнительную строку?

..
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>();
    ()
  }
}
..

Ответы на вопрос(2)

Ваш ответ на вопрос