3000门徒内部训练绝密视频(泄密版)第2课:Scala面向对象彻底精通及Spark源码阅读
Scala面向对象彻底精通及Spark源码阅读
不用写public class中的public
class Person {private var myName = "flink"def name = this.myNamedef name_=(newName:String){ //重载?myName = newNameprintln("Hi " + this.myName)}
}class Person {private var myName = "flink"def name = this.myNamedef update(newName : String){myName = newNameprintln("Hi " + this.myName)}
}
重要:private[this]
//对象私有,不能被其他对象访问
class Person {private var myName = "flink"def name = this.myNamedef update(newName : String){myName = newNameprintln("Hi " + this.myName)}def talk(p:Person) = {println("Hello "+ p.name)}
}scala> val p1 = new Person
p1: Person = Person@13cd7ea5scala> val p2 = new Person
p2: Person = Person@c4c0b41scala> p2.update("Spark")
Hi Sparkscala> p1.talk(p2)
Hello Sparkscala> p2.talk(p1)
Hello flink
class Person {private[this] var Name = "flink"def update(newName : String){println("Hi ")}def talk(p:Person) = {println("Hello "+ p.name)}
}
<console>:14: error: value name is not a member of Personprintln("Hello! " + p.name)^
//不能被其他对象访问。
//重载构造器
//默认构造器在类定义内,任何非def的都将执行
class Person {var name = "flink"var age = 10def update(newName : String){println("Hi ")}def this(name: String){this()//必须调用一个其他构造器this.name = name}def this(name: String, age:Int){this(name)//必须调用一个其他构造器this.age = age}
}
//Scala 的内部类的不同内部类为不同类型
object
定义类后同时定义object存放静态成员和方法,为伴生对象,它的构造器不接受参数,只在第一次调用执行一次
object Person {var salary = 0.0
println("Scala")
def getSalary = salary
}
apply是当前类的对象的工厂方法
程序入口在object内的main方法def main(argStrings:Array[String]) {}
抽象类
重写父类要加override,重写父类的抽象方法必须加override关键字
抽象属性,不给值,需要覆盖
trait?接口?
DAGScheduler 是一个至关重要的类
3000门徒内部训练绝密视频(泄密版)第2课:Scala面向对象彻底精通及Spark源码阅读相关推荐
- 3000门徒内部训练绝密视频(泄密版)第3课:Scala中函数式编程彻底精通及Spark源码阅读
Scala中函数式编程彻底精通及Spark源码阅读 函数可以不依赖于类,函数可以作为函数的参数,函数可以作为函数的返回值 =>表明对左面的参数进行右面的加工 函数赋值给变量需要在函数名后面加空格 ...
- 3000门徒内部训练绝密视频(泄密版)第5课:彻底精通Scala隐式转换和并发编程及Spark源码阅读
彻底精通Scala隐式转换和并发编程及Spark源码阅读 Akka ,Scala内部并发 隐式转换.隐式类.隐式参数 可以手动指定某种类型的对象或类转换成其他类型的对象或类.转换的原因是假设写好接口 ...
- 3000门徒内部训练绝密视频(泄密版)第8课:彻底实战详解使用IDE开发Spark程序
彻底实战详解使用IDE开发Spark程序 使用IDE开发Spark分析 使用IDE开发Spark实战 使用IDE开发Spark的Local和Cluster 开发两种选择:IDEA.Eclipse 下载 ...
- 3000门徒内部训练绝密视频(泄密版)第1课:大数据最火爆语言Scala光速入门
大数据最火爆语言Scala光速入门 scala 可以使用java的库 scala 的工厂方法:apply 条件表达式有返回值 数组可以用to ,箭头 <- 最后一行内容的值是整个代码块的返回值 ...
- c语言打印空心数字图形,(完整word版)C语言编写打印实心和空心菱形【源码】
<(完整word版)C语言编写打印实心和空心菱形[源码]>由会员分享,可在线阅读,更多相关<(完整word版)C语言编写打印实心和空心菱形[源码](13页珍藏版)>请在人人文库 ...
- Underscore源码阅读极简版入门
看了网上的一些资料,发现大家都写得太复杂,让新手难以入门.于是写了这个极简版的Underscore源码阅读. 源码: github.com/hanzichi/un- 一.架构的实现 1.1:架构 (f ...
- cocos creator 横版射击游戏 突击对决H5+安卓+IOS三端源码
cocos creator 横版射击游戏 突击对决H5+安卓+IOS三端源码,多关卡,开发脚本为js方便扩展和阅读,支持cocos creator2.X版本,完整的源码可直接运营. 源码下载链接 co ...
- 文本匹配开山之作-DSSM论文笔记及源码阅读(类似于sampled softmax训练方式思考)
文章目录 前言 DSSM框架简要介绍 模型结构 输入 Encoder层 相似度Score计算 训练方式解读 训练数据 训练目标 训练方式总结 DSSM源码阅读 训练数据中输入有负样本的情况 输入数据 ...
- 云之讯官方测试Demo音频版源码阅读(编辑)
* 由于最近项目中貌似需要做这一块,于是就去读了一下云之讯官方测试Demo的音频版的源码[Android音频版](http://www.ucpaas.com/product_service/downl ...
最新文章
- ceph中使用ceph-objectstore-tool将pg从incomplete标记为complete
- Android中文API (109) —— SimpleCursorTreeAdapter
- Puppet集中配置管理系统[安装与配置]
- word中公式编辑器编号
- matlab中求积函数,MATLAB软件及高斯勒让德求积公式MATLAB软件及高斯勒让德求积公式.doc...
- python爬取新浪新闻首页_学习了《python网络爬虫实战》第一个爬虫,爬取新浪新闻...
- 1000行MySQL学习笔记,收藏版!
- 18年5年制计算机辅助考试题,2018年自考《计算机辅助教育》试题二
- AI学习笔记(九)从零开始训练神经网络、深度学习开源框架
- findfont: Font family [‘Times New Roman‘] not found. Falling back to DejaVu Sans.
- 关于mysql数据库的说法错误的是_MYSQL数据库2013-2014学年考试试卷
- Ftp、Ftps与Sftp之间的区别
- PS学习总结一:入门版必备的基础功能
- WPS-系统右键:开启后无法显示
- Web前端:HTML+CSS+JS实现美女照片3D立方体旋转
- 社群裂变工具有哪些?怎么用?微信如何引流客源呢?
- 【VHDL】带使能端的同步复位的8位寄存器设计
- 神经痛分类图片大全,神经病理性疼痛分类
- 用html做一个拍拍网界面视频,用canvas做一个DVD待机动画的实现代码
- phpstorm使用