📅  最后修改于: 2021-01-09 11:42:17             🧑  作者: Mango
单例对象是通过使用object关键字而不是通过类声明的对象。调用单例对象内部声明的方法不需要任何对象。
在scala中,没有静态概念。因此,scala创建了一个singleton对象,以提供程序执行的入口点。
如果不创建单例对象,则代码将成功编译,但不会产生任何输出。在singleton object中声明的方法可以全局访问。单例对象可以扩展类和特征。<="" p="">
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中,当您拥有一个与单例对象同名的类时,该类称为伴随类,而单例对象称为伴随对象。
伴随类及其伴随对象都必须在同一源文件中定义。
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.