首页 > 代码库 > Scala系列:对象
Scala系列:对象
单例对象
scala没有静态方法和静态字段。scala使用object实现,object定义了单个实例。
1 object Accounts {2 private var lastNumber = 0;3 def newUniqueNumber() = { lastNumber += 1; lastNumber }4 }
使用:
for (i <- 0 to 10) println(Accounts.newUniqueNumber)
对象的构造方法在该对象被第一次使用时调用。
伴生对象
在Java中,常遇到类即有静态属性和方法,又有非静态属性和方法。
Scala中,可以通过类与类同名的“伴生”对象达到相同目的。
类和伴生对象可以互相访问私有属性,它们必须存在同一源文件中。
apply方法
定义和使用object的applay方法,进行创建伴生类实例。
好处:少写了new,在很多场景下用起来方便,看起来清晰。
应用程序对象
每个scala程序必须从一个对象的main方法开始,这个方法的类型为Arra[String] => Unit
扩展App物质,代码放入构造方法体中,
scala -Dscala.time Hello Fred
枚举
scala本身没有枚举类型
标准库里提供Enumeration助手类,可用于产生出枚举。
1 object EventType extends Enumeration {2 val DDOS, DI = Value3 }
枚举类型是EventType.Value
给类型起个别名:只有引入的时候有意义
1 object EventType extends Enumeration {2 type EventType = Value3 val DDOS, DI = Value4 }
……
Scala系列:对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。