对象

1.单例对象

2.伴生对象

3.扩展类或特质的对象

4.apply方法

5.应用程序对象

6.枚举

1.单例对象

static没有静态方法或静态字段,通过object实现类似效果:

2.伴生对象

一个类,既有实例方法,又有静态方法,通过“伴生对象达到同样的目的:

类和它的伴生对象可以相互访问私有特性,它们必须存在于同一个源文件中。

伴生对象:

粘贴模式:

键入:paste

然后键入或粘贴类和对象的定义,最后以Ctrl+D退出粘贴模式

3.扩展类或特质的对象

一个有用的场景是给出可被共享的缺省对象。

DoNothingAction对象可以被所有需要这个缺省行为的地方共用。

 4.apply方法

当遇到如下形式的表达式时,apply方法就会被调用:

Object( 参数1, 参数2,... ,参数n)

5.应用程序对象

除了每次都提供自己的main方法外,你也可以扩展App特质,然后将程序代码放入构造器方法体内

如果你需要命令行参数,则可以通过args属性得到

6.枚举

 scala并没有枚举,但是,标准类库提供了一个Enumeration助手类,用于产生枚举。

Value方法调用初始化枚举中的所有可选值。每次调用Value方法都返回内部类的新实例,该内部类也叫作Value。

如果你觉得TrafficLightColor.Red这个前缀太长,可以使用导包的形式:

遍历:

查找:

原文地址:https://www.cnblogs.com/sunnyDream/p/8022962.html