目录
一、对象
- 单例对象(singleton object): object定义单例对象,单例对象分为伴生对象和孤立对象;
- 伴生对象(companion object):当在同一个程序中出现与对象同名的类相同时,那么称该对象为伴生对象,而相应的类被称为伴生类。两者之间可以相互访问私有变量。
- 没有同名类的单例对象称为孤立对象
class Person(val name:String){
private val id = Person.newPersonId() //调用了伴生对象中的方法
def info() {
printf("The id of %s is %d.\n",name,id)
}
}
object Person {
private var lastId = 0 //一个人的身份编号
def newPersonId() = {
lastId +=1
lastId
}
def main(args: Array[String]) {
val person1 = new Person("Lilei")
val person2 = new Person("Hanmei")
person1.info()
person2.info()
}
}
4、apply方法:这是封装好的创建对象的一个方法,如
val myStrArr = Array("BigData","Hadoop","Spark")</