在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Scala/ Scala單例和伴生對(duì)象
Scala方法重載
Scala模式匹配
Scala throw關(guān)鍵字
Scala提取器
Scala概述
Scala throws關(guān)鍵字
Scala finally塊
Scala正則表達(dá)式
Scala循環(huán)語(yǔ)句
Scala多線程
Scala函數(shù)
Scala final關(guān)鍵字
Scala方法覆蓋
Scala字符串
Scala線程實(shí)現(xiàn)
Scala異常處理
Scala類和對(duì)象
Scala數(shù)據(jù)類型
Scala單例和伴生對(duì)象
Scala構(gòu)造函數(shù)
Scala教程
Scala Case類和對(duì)象
Scala繼承
Scala開(kāi)發(fā)環(huán)境安裝配置
Scala運(yùn)算符
Scala文件I/O
Scala線程方法
Scala變量
Scala try-catch語(yǔ)句
Scala基礎(chǔ)語(yǔ)法
Scala集合
Scala數(shù)組
Scala閉包
Scala訪問(wèn)修辭符
Scala this關(guān)鍵字

Scala單例和伴生對(duì)象

單例(Singleton)對(duì)象是一個(gè)通過(guò)使用object關(guān)鍵字而不是使用class關(guān)鍵字聲明的對(duì)象。其它對(duì)象不需要調(diào)用在單例對(duì)象中聲明的方法。

在scala中,沒(méi)有靜態(tài)的概念。 所以scala創(chuàng)建一個(gè)單例對(duì)象來(lái)為程序的執(zhí)行提供入口點(diǎn)。
如果不創(chuàng)建單例對(duì)象,代碼也會(huì)成功編譯,但不會(huì)產(chǎn)生任何輸出。單例對(duì)象中聲明的方法可以全局訪問(wèn)。單例對(duì)象可以擴(kuò)展類和性狀。

Scala單例對(duì)象示例

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


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

將上面代碼保存到源文件:Demo.scala中,使用以下命令編譯并執(zhí)行代碼 -

D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
Hello, This is Singleton Object

Scala伴生對(duì)象

在scala中,當(dāng)有一個(gè)與單例(singleton)對(duì)象同名的類時(shí),它被稱為伴生(companion)類,單例(singleton)對(duì)象調(diào)用伴生對(duì)象。

伴生類及其伴隨對(duì)象必須在同一個(gè)源文件中定義。

Scala伴生對(duì)象示例

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

將上面代碼保存到源文件:Demo.scala中,使用以下命令編譯并執(zhí)行代碼 -

D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
Hello, this is Companion Class.
And this is Companion Object.