今天在看同事的代码时看到如下代码:

packageobjectmsg{
sealedtraitTaskType{
deftoString:String
}

traitDataCloudMSGextendsSerializable

}



对其中sealed关键字不太明白,百度里一下,发现如下解释:

sealed

从上面的描述我们可以知道,sealed关键字主要有2个作用:

其修饰的trait,class只能在当前文件里面被继承

用sealed修饰这样做的目的是告诉scala编译器在检查模式匹配的时候,让scala知道这些case的所有情况,scala就能够在编译的时候进行检查,看你写的代码是否有没有漏掉什么没case到,减少编程的错误。