Scala 单例和伴生对象

Scala 单例和伴生对象

Scala单例对象

单例对象是使用object关键字声明的对象,而不是class。不需要对象来调用在单例对象内声明的方法。

在Scala中,没有静态概念。因此,Scala创建了一个单例对象来为程序执行提供入口点。如果你不创建单例对象,你的代码将成功编译,但不会产生任何输出。在单例对象内声明的方法可以全局访问。 单例对象可以扩展类和trait。

Scala单例对象示例

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.

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程