Параметры конструктора 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 {
private[this] val bar: Int = _;
def (bar: Int): this.Foo = {
Foo.super.();
()
}
}
..
..
class Foo extends scala.AnyRef {
private[this] val bar: Int = _;
private def bar: Int = Foo.this.bar;
def (bar: Int): this.Foo = {
Foo.super.();
()
}
}
..