我是斯卡拉研究的第三天.使用书“开始
scala”.
作者使用一个例子来显示变量define与val var之间的差异而没有var val:
class Book(private val title: String) { def printTitle(b: Book) { println(b.title) } }
在控制台中:
scala> val book = new Book("Beginning Scala") book: Book = Book@ea05be scala> book.printTitle(new Book("Beginning Erlang")) Beginning Erlang
这里让我感到困惑的是没有/没有val var,而是私有修饰符:
我不确定我是否理解私权,但如果scala希望将标题作为私有字段,那么为什么它允许其他人从外部访问它,我认为prinTitle应该无法访问新书(“Beginning Erlang”)的标题字段