scala:对象object
生活随笔
收集整理的這篇文章主要介紹了
scala:对象object
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Scala沒有靜態(tài)方法或字段,可以用對象object(首字母小寫)結(jié)構(gòu)完成類似的功能。
object M {var count = 0;def inc = {count += 1; count}def main(args: Array[String]){println(M.count)M.incprintln(M.count)} }對象的構(gòu)造器在對象第一次被使用時(shí)調(diào)用,如果對象從未被使用,構(gòu)造器也不會執(zhí)行。
對象可以擴(kuò)展類或者特質(zhì),但不能提供構(gòu)造器參數(shù)。
伴生對象
class T private(val i: Int){ } //不可以用new關(guān)鍵字獲取此類的實(shí)例object T{def apply(i: Int) = {new T(i)} }伴生對象和類同名,且可以和類相互訪問私有特性。類和伴生對象必須存在于同一個(gè)源文件中。
類調(diào)用伴生對象的屬性用:對象名.屬性
每一個(gè)Scala程序必須從一個(gè)對象的main方法開始執(zhí)行,這個(gè)方法類型為Array[String] => Unit
若不自己定義main方法,也可以擴(kuò)展App特質(zhì),將要執(zhí)行的程序代碼放入構(gòu)造器內(nèi)。
App特質(zhì)有args成員變量,存儲命令行參數(shù),類型為Array[String]
如下可以顯示程序運(yùn)行時(shí)間(前提是類擴(kuò)展了App特質(zhì)):
scala -Dscala.time 類名 命令行參數(shù)轉(zhuǎn)載于:https://www.cnblogs.com/xuejianbest/p/10285094.html
總結(jié)
以上是生活随笔為你收集整理的scala:对象object的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql行求和
- 下一篇: [算法总结] 13 道题搞定 BAT 面