和class在同一个源文件(.scala)中同名的object结构称之为该类的伴生对象,把该类称之为object的伴生类
伴生对象的主要作用:
- 就是为其伴生类提供类似java中的静态成员操作
- 提供另外一种对象的创建方式,这个需要用到一个特定的函数apply
- object伴生对象的一个特点就是,可以在object中直接调用class中的私有成员
package com.tian.day03
object ObjectClassOps {
def main(args: Array[String]): Unit = {
val p = Person("zhangsan",11)
p.show()
}
class Person{
private var name:String = _
private var age:Int = _
def this(name :String ,age:Int){
this
this.name = name
this.age = age
}
def show(): Unit ={
println(s"name:$name,age:$age")
}
}
object Person{
var slogan = "这个是person类的伴生对象"
println(slogan)
def apply(name:String ,age:Int): Person ={
val p = new Person()
p.name = "lisi"
p
}
}
}