-
类、字段和方法
- 类定义中可以放置字段和方法;
- 方法用关键字 def 定义;
- 字段保留对象的状态或数据;
- Scala里把成员公开的方法是不显示地指定任何访问修饰符。即,Public是Scala的默认访问级别。
- Scala里方法参数的一个重要特征是他们都是val的,不能在函数中对参数进行重新赋值。
-
分号推断规则 除非以下任一情况出现,否则行尾被认为是一个分号
- 疑问行由一个不能合法作为语句结尾的字结束,如句点或中缀操作符;
- 下一行开始于不能作为语句开始的词;
- 行结束于括号或方括号内部,因为这些符号不可能容纳多个语句;
-
Singleton(单例)对象
- 除了用关键字 object 替换了关键字 class 以外,单例对象的定义看上去与类型一一致;
- 如果单例对象与某个类共享同一个名称时,它就被称为是这个单例对象的伴生对象;
- 类和其伴生对象必须定义在同一个源文件里;
- 类被称之为这个单例对象的伴生类;
- 两者之间可以互相访问私有成员;
- 单例对象在第一次被访问时才会被初始化;
-
Scala程序
- 任何带有合适签名的main方法的单例对象都可以作为程序的入口点;
- Scala的基本编译器:scalac;
- 如果文件是以定义结尾的,则不是scala脚本,脚本必须以结果表达式结束;
- Scala发布包中包含一个叫做fsc的Scala编译器后台,可以将文件列表发送给后台程序,由其完成编译,使用fsc只需在首次运行时等待Java运行环境的启动;
- Application特质
- 该特质可以减少一些输入的工作,单例对象 extends App 就可以当作程序入口执行,而不需要写main方法;
- 原因:特质Application声明了带有合适签名的main方法,并被单例对象继承,使之可以像Scala程序那样;