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