您的位置:首页 > 其它

scala基础12-单例对象/伴生对象

2016-07-17 23:23 295 查看
/*
* 两个类名字相同,则object是class的伴生对象,伴生对象经常用于一些静态配置或隐式转换等
* class是object的伴生类,半生类可以访问伴生对象的成员,包括private的
* 但伴生对象并不在class的作用区内,所以访问伴生对象的成员时,需要加上类名
*/
class University {
val id = University.newStudentNo
private var number = 0

def aClass(number: Int) = {
this.number += number
}
}

/*
* object类,有点类似java中的静态类
* 类中的所有成员都是静态的
* 第一次使用的时候,成员才会被初始化
*/
object University {
private var studentNo = 0

def newStudentNo = {
studentNo += 1
studentNo
}
}

object HelloOOP {
def main(args: Array[String]) {
println(University.newStudentNo)
println(University.newStudentNo)

val arr = Array(1, 2, 3) //不写new,其实使用的是伴生对象的方式创建
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: