Scala的sealed關鍵字

    今天在看同事的代碼時看到如下代碼:

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到,減少編程的錯誤。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章