Я пытался:
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>();
()
}
}
..