定义 :当同名的类和单列对象在同一个源代码文件中时,这个类称为单例对象的伴生类,对象称为类的伴生对象 两者是相互的
Scala的伴生对象与伴生类主要有两个要点:
1.必须同名
2·必须在同一个源码文件
Scala的伴生对象和伴生类应用场景:
一 ·生成静态成员
二 ·伴生对象和类之间的相互访问
三 ·构建单例对象
scala
class Person(val name: String)
object Person {
def apply(name: String): Person = new Person(name)
}
在这个例子中, Person 是伴生类, object Person 是伴生对象,伴生对象中定义了一个工厂方法来创建 Person 类的实例。
四、两者的关系和作用
1. 访问权限:伴生对象可以访问伴生类的私有成员,反之亦然。
2. 工厂方法:伴生对象常常用于提供创建伴生类实例的工厂方法。
3. 共享状态:可以在伴生对象中定义一些与伴生类相关的共享状态或常量。
总的来说,Scala 的伴生对象和伴生类提供了一种方便的方式来组织相关的代码,并实现类似于其他语言中静态成员和类之间的关系。