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