trait类似于Java8中的可用带default method的接口。

trait中可以带有实现的方法,也可以带有抽象方法,使用trait的方法是with而混入类中。

我们在scala下的org.scala.clazz下创建一个类MyTrait.scala

定义一个特质类 Logger

定义MyLogger类 实现特质类Logger

调用:

PS:我们这里使用trait是使用extends,这是因为MyLogger没有继承其他类火灾trait

子trait可以覆盖实现父traitd的方法:

调用:

如果子trait在如果覆盖父trait中已经实现的方法必须使用override关键字:

定义抽象类Account和class MyAccont

调用:

这是demo属于在一个对象中混入trait

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/stark-summer/p/4829830.html

scala入门-07特质类(trait)的使用相关推荐

  1. Scala 入门3(类、Trait、模式匹配、正则、异常、提取器、IO)

    文章目录 1. 类和对象 2. Trait 3. 模式匹配 4. 正则 5. 异常处理 6. 提取器 7. 文件 IO 学自 https://www.runoob.com/scala/scala-tu ...

  2. scala入门-05继承类(extends)的使用

    2019独角兽企业重金招聘Python工程师标准>>> 在scala下的org.scala.clazz下创建ExtendsScala.scala 创建Person类 创建Studen ...

  3. Scala入门到精通——第十节 Scala类层次结构、Traits初步

    本节主要内容 Scala类层次结构总览 Scala中原生类型的实现方式解析 Nothing.Null类型解析 Traits简介 Traits几种不同使用方式 1 Scala类层次结构 Scala中的类 ...

  4. Scala的特质(Trait)介绍

    Scala的特质(Trait) 基本概念 特质声明 基本语法 特质的使用 基本语法 说明 案例实操 特质叠加 基本概念 案例实操 特质叠加执行顺序 案例说明 特质自身类型 说明 案例实操 特质和抽象类 ...

  5. Scala入门到精通——第十一节 Trait进阶

    本节主要内容 trait构造顺序 trait与类的比较 提前定义与懒加载 trait扩展类 self type 1 trait构造顺序 在前一讲当中我们提到,对于不存在具体实现及字段的trait,它最 ...

  6. Scala入门到精通——第七节:类和对象(二)

    本节主要内容 单例对象 伴生对象与伴生类 apply方法 应用程序对象 抽象类 单例对象 在某些应用场景下,我们可能不需要创建对象,而是想直接调用方法,但是Scala语言并不支持静态成员,scala通 ...

  7. Scala特证/特质【6.7 特质(Trait)】

    Scala特证/特质[6.7 特质(Trait)] 6.7 特质(Trait) Java 的接口 接口的作用 抽象类的作用 6.7.1 特质声明 6.7.2 特质基本语法 6.7.3 特质叠加 6.7 ...

  8. Scala入门到精通——第六节:类和对象(一)

    本节主要内容 1 类定义.创建对象 2 主构造器 3 辅助构造器 类定义.创建对象 //采用关键字class定义 class Person {//类成员必须初始化,否则会报错//这里定义的是一个公有成 ...

  9. 大数据入门第二十天——scala入门(二)scala基础02

    一. 类.对象.继承.特质 1.类 Scala的类与Java.C++的类比起来更简洁 定义: package com.jiangbei //在Scala中,类并不用声明为public. //Scala ...

最新文章

  1. Linux fork()函数底层CopyOnWrite写时复制实现原理剖析
  2. Spring - shortcuts
  3. epublib java_使用Epublib处理epub文件 | 学步园
  4. tomcat 实现 文件共享,查看文件目录
  5. 让cocos2dx支持并通过arm64 编译
  6. (ACL+ICML)2020推荐系统相关论文聚焦(附下载链接)
  7. Android-动画-view 动画笔记
  8. 000+0000 格式的时间转成 年月日
  9. 干线公路交叉口右转车辆与非机动车冲突精细化治理实例
  10. Web 开发权威指南
  11. php有个schost.exe_全面认识Svchost.exe进程
  12. 计算机证件照无法上传,计算机IE浏览器为什么不能上传照片
  13. 荣耀畅玩8C生猛来袭夺C位,红米Note5看了只能默默躲角落
  14. AS608指纹模块于51单片机的二次开发
  15. 状态同步的mmo网络游戏中的帧率
  16. HAC集群修改为单机
  17. 基于matlab的漏电保护器仿真,基于MATLAB仿真的高压断路器振动信号故障诊断
  18. electron实现让文件出现在软件安装目录中并使用其中的文件
  19. 面向对象的三大特性是什么
  20. dbeaver——sql编辑区字体设置@baiyun

热门文章

  1. Visual C++ 6.0静态、动态链接库
  2. flex 学习笔记 皮肤(一)
  3. 错误:The project was not built due to Unparsed aapt error(s)
  4. anaconda moviepy_Anaconda的安装和Jupyter Notebook使用
  5. 疲劳驾驶样本集_欧洲要求,2022年开始新车必须配备DMS(防疲劳预警)系统
  6. pythondef元组参数传递_Python参数传递(传值传引用)
  7. gdal1.6linux编译,VS2015下编译64位GDAL总结
  8. bin code led_-/bin/sh: ./led: not found的解决办法
  9. mysql基础数据类型字节数_MySQL基础之数据类型
  10. del服务器如何收系统日志,利用Rsyslog集中收集系统日志和用户操作记录以及相关处理方法...