本篇作為scala快速入門系列的第十九篇部落格,為大家帶來的是關于單例對象的内容。
單例對象
scala中沒有Java中的靜态成員,我們想要定義類似于Java的static變量、static方法,就要使用到scala中的單例對象——object。
定義單例對象
單例對象表示全局僅有一個對象(類似于Java static概念)
- 定義單例對象和定義類很像,就是把class換成object
- 在object中定義的成員變量類似于Java的靜态變量
- 可以使用object直接引用成員變量
示例
- 定義一個Dog單例對象,儲存狗有幾條腿
- 在main方法中列印狗腿的數量
參考代碼
在單例對象中定義成員方法
- 在object中定義的成員方法類似于Java的靜态方法
示例
- 設計一個單例對象,定義一個能夠列印分割線(15個減号)的方法
- 在main方法調用該方法,列印分割線
參考代碼
工具類案例
需求
- 編寫一個DateUtil工具類專門用來格式化日期時間
- 定義一個方法,用于将日期(Date)轉換為年月日字元串,例如:2030-10-05
步驟
- 定義一個DateUtil單例對象,定義日期格式化方法(format)
- 使用SimpleDateFormat将日期轉換為字元串
參考代碼
main方法
scala和Java一樣,如果要運作一個程式,必須有一個main方法。而在Java中main方法是靜态的,而在scala中沒有靜态方法。在scala中,這個main方法必須放在一個單例對象中。
定義main方法
main方法
示例
- 建立一個單例對象,在該單例對象中列印"hello, scala"
參考代碼
實作App Trait 來定義入口
建立一個object,繼承自App Trait(特質),然後将需要編寫在main方法中的代碼,寫在object的構造方法體内。
示例
- 繼承App特質,來實作一個入口。同樣輸出"hello, scala"
參考代碼
本期的内容分享就到這裡了,喜歡的小夥伴們記得點個贊,持續關注喲~下一篇将為大家帶來伴生對象的相關内容,敬請期待٩(๑>◡<๑)۶