Scala 关键字/保留字

2019-05-02 15:08:23 | 编辑 | 添加

Scala 的保留字。其中的一些我们之前已经遇到过,还有许多保留字在Java中也能找到,并且它们在两种语言中的含义是相同的。

注意,表中没有列出break 和continue。这两个流程控制的关键字在Scala 中不存在。Scala 鼓励使用函数式编程的惯用法来实现相同的break、continue 功能。函数式编程通常会更加简洁,不容易出现bug。

一些Java 中的方法名在Scala 中是保留字。如java.util.Scanner.match。为了避免编译错误,引用该方法名时,在名字两边加上反引号,如java.util.Scanner.`match`。


保留字描述
abstract做抽象声明
casematch表达式中的case子句;定义一个case类
catch捕捉抛出的异常
class声明一个类
def定义一个方法
do用于do...while循环
else与if配对的else语句
extends表示接下来的class或trait是所声明的class或trait的父类型
FALSEBoolean的false值
final用于class或trait,表示不能派生子类型;用于类型成员,则表示派生的
class或trait不能覆写它
finallyfinally语句跟在相应的try语句之后,无论是否抛出异常都会执行
forfor循环
forSome用在已存在的类型声明中,限制其能够使用的具体类型
ifif语句
implicit使得方法或变量值可以被用于隐含转换;将方法参数标记为可选的,只要在调用该方法时,作用域内有类型匹配的候选对象,就会使用该对象作为参数
import将一个或多个类型抑或类型的成员导入到当前作用域
lazy推迟val变量的赋值
match用于类型匹配语句
new创建类的一个新实例
null尚未被赋值的引用变量的值
object用于单例声明,单例是只有一个实例的类
override当原始成员未被声明为final时,用override覆写类型中的一个具体成员
package声明包的作用域
private限制某个声明的可见性
protected限制某个声明的可见性
requires停用,以前用于自类型
return从函数返回
sealed用于父类型,要求所有派生的子类型必须在同一个源文件中声明
super类似this,但表示父类型
this对象指向自身的引用;辅助构造函数的方法名
throw抛出异常
trait这是一个混入模块,对类的实例添加额外的状态和行为;也可以用于声明而不实现方法,类似Java的interface
try将可能抛出异常的代码块包围起来
TRUEBoolean的true值
type声明类型
val声明一个“只读”变量
var声明一个可读可写的变量
while用于while循环
with表示所声明的类或实例化的对象包括后面的trait
yield在for循环中返回元素,这些元素会构成一个序列
_占位符,使用在import、函数字面量中很多章节均涉及
:分隔标识符和类型注解
=赋值
=>在函数字面量中分隔参数列表与函数体
<-在for循环中的生成表达式
<:在参数化类型和抽象类型声明中,用于限制允许的类型
<%在参数化类型和抽象类型的viewbound声明中
>:在参数化类型和抽象类型声明中,用于限制允许的类型
#在类型注入中使用
@注解
?(Unicode\u21D2),与=>相同
(Unicode\u2192),与->相同
(Unicode\u2190),与<-相同