📜  Scala Singleton和伴侣对象

📅  最后修改于: 2021-01-09 11:42:17             🧑  作者: Mango

Scala Singleton和伴侣对象

Scala Singleton对象

单例对象是通过使用object关键字而不是通过类声明的对象。调用单例对象内部声明的方法不需要任何对象。

在scala中,没有静态概念。因此,scala创建了一个singleton对象,以提供程序执行的入口点。
如果不创建单例对象,则代码将成功编译,但不会产生任何输出。在singleton object中声明的方法可以全局访问。单例对象可以扩展类和特征。<="" p="">

Scala Singleton对象示例

object Singleton{
    def main(args:Array[String]){
        SingletonObject.hello()         // No need to create object.
    }
}


object SingletonObject{
    def hello(){
        println("Hello, This is Singleton Object")
    }
}

输出:

Hello, This is Singleton Object

Scala伴侣对象

在scala中,当您拥有一个与单例对象同名的类时,该类称为伴随类,而单例对象称为伴随对象。

伴随类及其伴随对象都必须在同一源文件中定义。

Scala伴侣对象示例

class ComapanionClass{
    def hello(){
        println("Hello, this is Companion Class.")
    }
}
object CompanoinObject{
    def main(args:Array[String]){
        new ComapanionClass().hello()
        println("And this is Companion Object.")
    }
}

输出:

Hello, this is Companion Class.
And this is Companion Object.

如果不创建单例对象,则代码将成功编译,但不会产生任何输出。在singleton>