1.Scala的伴生对象与伴生类的定义
当同名的类和单例对象在同一个源码文件中时,这个类称为单例对象的伴生类,对象称为类的伴生对象,这两者是相互的。Scala的伴生对象与伴生类主要有两个要点:
(1)必须同名。
(2)必须在同一个源码文件中。
2.Scala的伴生对象与伴生类解决的问题
Scala 是比 Java 更加面向对象的编程语言,面向对象说明一切皆对象,但是在Java中有静态的成员,静态成员属于类不属于对象。而Scala中没有静态成员这个概念,没有static关键字。Scala的伴生对象和伴生类可以解决如下问题。
(1)生成静态成员:如果Scala中需要生成类似静态成员的应用场景,可以使用伴生对象解决该问题。
(2)伴生对象和类之间的相互访问:伴生对象和类的私有成员可以相互访问。
(3)构建单例对象:这一点与静态成员问题相似。