Scala伴生类和伴生对象

45 阅读1分钟

002D2A8F.gif

伴生类和伴生对象

当同名的类和单例对象在同一个源码文件时,这个类称为单例对象的伴生类,对象称为类的伴生对象。

object Person {
}
class Person{
}
  • 002E4779.png代码说明:

1. 类名和对象名必须同名。

2. 必须在同一个源码文件中。

  • 002E4779.png Scala的伴生对象和伴生类的特点:

伴生对象和类的私有private成员可以相互访问。

object f1103 {
/*  伴生类 和 伴生对象
  1.类和对象的名字是一样的
  2.他们在同一个文件中
  特点:可以访问对方私有(private)属性
*/
  class Student() {
  //private 修饰的属性 在类的外部(在当前的class之外) 无法访问!
  private  val name:String = "小花"
}
  object Student {
    def sayHello(stu:Student):Unit = {
    //在伴生对象中 访问伴生类的私有属性!
      println(s"${stu.name}")
    }
  }
 //运行结果:
    小花