scala 伴生对象的作用

1、什么是伴生对象

scala中的类不能定义静态成员,而代之以定义单例对象来替代
单例对象通过object关键字来声明
单例对象中的所有方法,可以直接通过object单例对象的名字直接来调用。
一个单例对象可以绑定在一个类,当单例对象和某个类写在同一个源文件且共享一个名字,它们就产生了绑定关系。
此时单例对象称之为该类的伴生对象,类称之为该对象的伴生类。
object food {
  def getFood(){
    println("this is not the same")
  }
}

class food{
  def getFood(): Unit ={
    println("this is your food.")
  }
}

2、伴生对象与伴生类

类和它的伴生对象可以互相访问其私有成员
单例对象不能new,所以也没有构造参数
可以把单例对象当做java中可能会用到的静态方法工具类。
作为程序入口的方法必须是静态的,所以main方法必须处在一个单例对象中,而不能写在一个类中。

3、单例对象在第一次被访问时才会被初始化,来自于scala自带的predef包。

猜你喜欢

转载自blog.csdn.net/starkpan/article/details/86633228