scala构造器实战
父类
abstract class Event(val name:String) {
var time:Long
var content:String
}
子类
private[spark] class BaseEvent(name: String) extends Event(name) {
var id: String = _
override var time: Long = _
override var content: String = _
//从构造器
def this(id:String,name:String,time:Long,content:String){
this(name)//主构造器
this.id = id
this.time = time
this.content = content
}
//重写toString
override def toString():String ={
id+","+name+","+time+","+content
} }
再子类
private[spark] class AlarmEvent(name: String) extends BaseEvent(name) { var event_type: String = _
var event_level: String = _
var event_src_ip: String = _
var event_src_port: String = _
var event_tar_ip: String = _
var event_tar_port: String = _
var event_src_server_name: String = _
var event_tar_server_name: String = _
var event_group_count: Long = _
var event_group_start_time: String = _
var event_group_end_time: String = _
var event_server_name: String = _ def this(id: String, name: String, time: Long, content: String) {
this(name)
this.id = id
this.time = time
this.content = content
}
//构造器的继承与重载
def this(id: String,
name: String,
time: Long,
content: String,
event_type: String,
event_level: String,
event_src_ip: String,
event_src_port: String,
event_tar_ip: String,
event_tar_port: String,
event_src_server_name: String,
event_tar_server_name: String
) {
this(name, id, time, content)
this.event_type = event_type
this.event_level = event_level
this.event_src_ip = event_src_ip
this.event_src_port = event_src_port
this.event_src_server_name = event_src_server_name
this.event_tar_ip = event_tar_ip
this.event_tar_port = event_tar_port
this.event_tar_server_name = event_tar_server_name
}
//重载
def this(id: String,
name: String,
time: Long,
content: String,
event_type: String,
event_level: String,
event_src_ip: String,
event_src_port: String,
event_tar_ip: String,
event_tar_port: String,
event_src_server_name: String,
event_tar_server_name: String,
event_group_count: Long,
event_group_start_time: String,
event_group_end_time: String,
event_server_name: String
) {
this(name, id, time, content, event_type, event_level,event_src_ip,event_src_port,event_tar_ip,event_tar_port,event_src_server_name,event_tar_server_name)
this.event_group_count=event_group_count
this.event_group_start_time=event_group_start_time
this.event_group_end_time=event_group_end_time
this.event_server_name=event_server_name
}
//toString的继承重载
override def toString():String= {
super.toString() +","+ event_type + "," + event_level + "," + event_src_ip + "," + event_src_port +","+ event_src_server_name + "," + event_tar_ip + "," + event_tar_port + "," + event_tar_server_name
} }
执行结果:
2,1,0,3,4,5,6,7,9,80,8,00
scala语言的父类继承和重载,toString的继承重载,靠super
子类中的构造器不能够super,报错
scala构造器实战的更多相关文章
- Scala 深入浅出实战经典 第81讲:Scala中List的构造是的类型约束逆变、协变、下界详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-97讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第79讲:单例深入讲解及单例背后的链式表达式
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第78讲:Type与Class实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...
- Scala 深入浅出实战经典 第77讲:模式匹配下的提取器动手构造实战
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第76讲:模式匹配下的赋值语句
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...
- Scala 深入浅出实战经典 第75讲:模式匹配下的For循环
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...
- Scala 深入浅出实战经典 第68讲:Scala并发编程原生线程Actor、Cass Class下的消息传递和偏函数实战解析
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...
- Scala 深入浅出实战经典 第67讲:Scala并发编程匿名Actor、消息传递、偏函数解析
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第66讲:Scala并发编程实战初体验
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
随机推荐
- Fiddler录制jmeter脚本--V4.4..0.1版本
圣诞节到了,圣诞老人送平安,我们送技术,我们知道以前jmeter的脚本来源有三个,手动书写.badboy录制.自带的录制功能(jmeter3.0该功能还比较好),目前我们又多了一个fiddler生 ...
- CCJ PRML Study Note - Chapter 1.6 : Information Theory
Chapter 1.6 : Information Theory Chapter 1.6 : Information Theory Christopher M. Bishop, PRML, C ...
- linux取某个字段排重
排重统计 cat a.txt | awk -F ';' '{print $2}' | sort -u | wc -l
- 使用Cookie保存商品浏览记录
数据流程:页面上是商品列表,点击<a href="productServlet">商品名</a> ==>跳转到自定义的servlet中进行处理,先得到 ...
- Duilib学习笔记《07》— 资源加载
Duilib的界面表现力能如此丰富,很大程度上得益于贴图描述的简单强大.通过之前的学习及参看相关例子,我们可以发现,在XML布局文件中,不管是窗体背景还是控件,都添加了对应的图片资源以此来美化界面.而 ...
- centos atomic host第一次启动
centos atomic host安装完成会,第一次启动时会调用cloud-init等服务.这是个什么东东? cloud-init用于在创建虚拟机时通过元数据服务对虚拟机基本配置,包括常见的主机名, ...
- js设计模式-单例模式
JavaScript中的单例模式是最常用的.最基本的设计模式,它提供了一种命名空间,减少全局变量泛滥的代码管理机制: 1.最常见的单例模式: [javascript] view plain cop ...
- 【MySQL】MySQL同步报错-> Last_IO_Error: Got fatal error 1236 from master when reading data from binary log
这个报错网上搜索了一下,大部分是由于MySQL意外关闭或强制重启造成的binlog文件事务点读取异常造成的主从同步报错 Last_IO_Error: Got fatal error 1236 from ...
- WP8_访问ListBox中的Item项中的某个元素
How to access a Control placed inside ListBox ItemTemplate in WP7(转) In this post I am going to talk ...
- BackgroundWorker Threads and Supporting Cancel
http://www.codeproject.com/Articles/20627/BackgroundWorker-Threads-and-Supporting-Cancel BackgroundW ...