今天在看同事的代碼時看到如下代碼:
package object msg {
sealed trait TaskType {
def toString: String
}
trait DataCloudMSG extends Serializable
}
對其中sealed關鍵字不太明白,百度裏一下,發現如下解釋:
sealed
從上面的描述我們可以知道,sealed
關鍵字主要有2個作用:
其修飾的trait,class只能在當前文件裏面被繼承
用sealed修飾這樣做的目的是告訴scala編譯器在檢查模式匹配的時候,讓scala知道這些case的所有情況,scala就能夠在編譯的時候進行檢查,看你寫的代碼是否有沒有漏掉什麼沒case到,減少編程的錯誤。