আমি চেষ্টা করে যাচ্ছি:
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>();
()
}
}
..
val
।