摘要:
```
// 当遇到如下形式的表达式时,apply方法就会被调用
// Object参数1,...,参数N)
// 通常这样一个apply方法返回的是伴生类的对象
class Accont private (val id: Int, initialBanlance: Double){ private var balance = initialBanlance
}
object Accont{
... 阅读全文
摘要:
```
// 在java中你通常会用到既有实例方法又有静态方法的类
// 在scala中你可以通过类和与类同名的伴生对象来达到同样的目的
// 类和它的伴生对象可以相互访问私有特性.他们必须存在于同一个源文件中.
class Account{ val id = Account.newUniqueNumber() private var balance = 0.0 def deposit... 阅读全文
摘要:
```
object Accounts { private var lastNumber = 0 def getUniqueNumber() = { lastNumber ++ 1; lastNumber } // 对象的构造器在该对象第一次被使用时调用 // 对于任何你会使用单例对象的地方,在scala中都可以用对象来实现: // 作为存放工具函数或常量的地方 // 高效... 阅读全文
摘要:
针对主构造器参数生成的字段和方法 主构造器参数 | 生成的字段或方法 | name:String | 对象私有字段.如果没有方法使用name,则没有该字段 private val/var name:String | 私有字段,私有的getter/setter方法 val/var name:Strin 阅读全文
摘要:
```
class Person { /* 1.辅助构造器的名称为this. 2.每一个辅助构造器的第一行必须调用其他辅助构造器或者主构造器. */ //如果一个类没有显式定义主构造器则自动拥有一个无参的主构造器 private var name = "" private var age = 0 def this(name: String){ this... 阅读全文