伴生类

如果有同样一个类与该 object 名字一样,则称该 object 为该类的伴生对象,相对应,该类为 object 的伴生类。

如果一个类有它的伴生对象,这个类就可通过 object 的名字访问到所有成员,但 object 不在该类的作用范围。

package chapter02


//伴生类(成员)
class Student {
  private val name="zhangshan"

}


//伴生对象(静态)
//创建伴生类对象,需要提供特殊的方法
object Student{
  //scala自动识别apply方法,用于创建伴生类对象
  def apply(s:String):Student = new Student()
  def test(): Unit ={
    //可以访问伴生类的私有属性,需要构建对象
    // new Student().name
  }
}
package chapter02

object test07 {

  def main(args:Array[String]):Unit={
    val student=Student("lisi")
    println(student)  //chapter02.Student$@4563e9ab
  }

}

 

posted on 2020-07-31 18:00  happygril3  阅读(181)  评论(0)    收藏  举报

导航