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

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到,减少编程的错误。

转载于:https://blog.51cto.com/12435523/1884327

Scala的sealed关键字相关推荐

  1. scala中sealed关键字使用指南

    1. 防止继承滥用 ​sealed关键字可以修饰类和特质(特质).密封类提供了一种约束:不能在类定义的文件之外定义任何新的子类.然而,这样做有什么用呢? 在scala源码中List的实现用到了seal ...

  2. sealed关键字用法

    Sealed英文意思是密封的.顾名思义,该关键字修饰类时,密封类不能被继承.密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写.当应用于方法或属性时,sealed 修饰符必须始终与 ov ...

  3. 快速了解sealed关键字

    sealed关键字 sealed的英文意思就是密封,禁止的意思.在c#中sealed关键字可以用来修饰类和方法.作用于类时不能和abstract对象一起使用,因为使用了sealed修饰类表示此类不能被 ...

  4. C#sealed关键字

    1.sealed 关键字修饰类 当sealed关键字修饰类的时候,此类为密封类,即不能作为其他类的父类,所以密封类中不能包含虚方法(Virtual)和抽象方法(abstract),因为没有机会实现. ...

  5. c#中sealed关键字的使用

    c#中sealed关键字 前几天给大家总结了virtual(虚拟的).abstract(抽象的).override(重写)关键字,今天就抽空把sealed(密封的)给大家总结出来,因为这四个是一连串的 ...

  6. c#中的sealed关键字

    sealed关键字: 官方描述:应用于某个类时,sealed 修饰符可阻止其他类继承自该类. 还可以对替代基类中的虚方法或属性的方法或属性使用 sealed 修饰符. 这使你可以允许类派生自你的类并防 ...

  7. Scala中lazy关键字的使用和理解

    Scala中lazy关键字的使用和理解 转载声明: 本文转自 Scala中lazy关键字的使用和理解 作者:br0x 转载仅为方便学习查看,一切权利属于原作者,如果带来不便请联系我删除. Scala中 ...

  8. 【scala】Scala中lazy关键字的使用和理解

    Scala中使用关键字lazy来定义惰性变量,实现延迟加载(懒加载). 惰性变量只能是不可变变量,并且只有在调用惰性变量时,才会去实例化这个变量. 在Java中,要实现延迟加载(懒加载),需要自己手动 ...

  9. scala中def_def关键字以及Scala中的示例

    scala中def Scala def关键字 (Scala def keyword) The def keyword in Scala is used to declare functions and ...

最新文章

  1. WPF and Silverlight 学习笔记(十):WPF控件模型
  2. Linux驱动中,probe函数何时被调用
  3. 浏览器渲染引擎学习总结
  4. 只要你懂为啥有人爱砍传奇,就能明白《逃离塔科夫》为何会成功
  5. Java中input与output_java中的Io(input与output)操作总结(四)
  6. Node.js实现Excel转JSON
  7. pandas 数据索引与选取
  8. WaitForMultipleObjects函数及原子操作Interlocked系列函数
  9. [翻译]Review——How JavaScript works:The building blocks of Web Workers
  10. wget 下载需要登录验证的网页文件
  11. AspNetPager的使用
  12. 1005. F.Snowy Roads最小生成树Kruskal算法
  13. Pytorch基于卷积神经网络的猫狗识别
  14. dva的state引用及connect连接
  15. php的persion是,php创建Persion类,反射过程,反射后使用流程详解
  16. 苹果双系统怎么切换_Mac可以这样卸载双系统中的windows系统
  17. php 时间戳 周几,php如何根据时间戳判断周几
  18. 计算机网络 | 网络互联技术与设备
  19. 微型计算机MMX的技术特点,自考04732微型计算机及接口技术试卷(答案全面)
  20. 面试必备:聊聊sql优化的15个小技巧

热门文章

  1. C++冒泡排序(包含初级、正宗及改进三种实现)
  2. file input 移动端选择文件夹_免费 |《MNN For Swift》移动端机器学习实战课程
  3. 计算机科学导论_[计算机科学导论]第一章:计算机学什么
  4. 简单的签到代码_签到功能,用 MySQL 还是 Redis ?
  5. PAT甲级1051 栈的模拟
  6. python名词解释数据仓库_python实现数据仓库ETL
  7. asp.net core文档下载_推荐一个必备的开源项目 (附下载链接)
  8. graph面板x轴模式包括哪些_激光五轴加工机床技术参数有哪些?
  9. linux恢复rm删除文件ssd,科学网—linux恢复rm -rf删除的文件 - 罗晓光的博文
  10. build openposewith opencv-2.4.13,cuda9(9.0 - 9.2)