2
พารามิเตอร์ตัวสร้างสกาล่าเริ่มต้นที่ val ส่วนตัวหรือไม่
ฉันได้ลองแล้ว: class Foo(bar: Int) VS: 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 …