大数据系列修炼-Scala课程03
前言
今天上班看了很多关于前端js,jQuery、bootstrap.js以及springMVC看得迷迷糊糊的,毕竟以前很少去学习前端的技术,所有看得有点困,还好看得比较多,回家后也开始学习关于Scala相关的课程,实验一下每天坚持做大数据相关的事情,一年后会成为什么样子......期待中....,今天也接着昨天的课程继续。
Scala内部类实战详解
Scala内部类详解:scala中内部类要访问外部类直接把外部类的对象给内部类了,让其自己访问,内部类也需要实例化,这和java中有很多的区别,内部类可以访问外部类任意成员变量并且不能为静态变量
Scala内部类实战:实现内部类访问外部类
object scalaOuter {
def main(args: Array[String]): Unit = {
val outer1 = new Outer("Spark");
val outer2 = new Outer("Hadoop")
val inner1 = new outer1.Inner("Scala")
val inner2 = new outer2.Inner("Java")
inner1.foo(inner1)
inner2.foo(inner2)
}
}
class Outer(val name: String){
//scala中内部类要访问外部类直接把外部类的对象给内部类了,让其自己访问,内部类也需要实例化
outer =>class Inner(val name:String){
def foo(b:Inner)=println("Outer: "+outer.name + "Inner:" + b.name)
}
}
Scala单例对象、伴生对象实战详解
Scala单例对象详解:单例对象可以直接访问中公有的方法和变量,这与java静态类差不多
Scala伴生对象代码实战:伴生对象就是有一个类与这个对象名称、参数都一样,这个类可以访问它的伴生对象中所有的变量和方法(私有都可以)
object ScalaObject {
def main(args: Array[String]): Unit = {
//University.studentNo ->这样就会报错
println(University.newStudenNo)
println(University.newStudenNo)
}
}
// Scala中object对象就好比java中的静态类一样
object University {
private var studentNo = 0 //私有的变量是不可以外部访问
def newStudenNo = {
studentNo += 1
studentNo //函数的最后变量为返回值
}
}
//伴生类
class University{
val id = University.newStudenNo
private var number =0
def aClass(number:Int){this.number += number}
}
Scala中的apply实战详解
Objec中的apply实战详解:apply方法可以用在class中和对象中,可在伴生对象中实例化class,从而调用类中的方法
Class中的apply实战详解:类实例化后,对象()就可以调用apply方法
object ApplyOps {
def main(args: Array[String]): Unit = {
// val applyTest = ApplyOp() //直接用伴生对象访问类中的方法 ->在伴生对象中已经new了对象,则可以访问其中的方法
// applyTest.haveAtry
var b = new ApplyOp()
println(b())
}
}
//ApplyOp类的伴生对象
object ApplyOp{
def apply() =
{
println("Object ApplyOp")
new ApplyOp
}
}
//ApplyOp对象的伴生类
class ApplyOp{
def apply() =
{
println("Class ApplyOp")
}
def haveAtry{
println(" Have a try on apply")
}
}
希望大家多多指教,谢谢
视频分享地址:http://pan.baidu.com/s/1pJ9n3JH
大数据系列修炼-Scala课程03的更多相关文章
- 大数据系列修炼-Scala课程01
简介 由于本人刚毕业,也是从事软件开发相关的工作.想再学习一下关于大数据.移动互联网.云计算相关的技术.为我的未来打好基础.并且从零开始学习大数据相关的知识,脚踏实地的走好每一步,听行业前辈说毕业生刚 ...
- 大数据系列修炼-Scala课程07
由于昨天下班后有点困,就没有来及写博客,今天会把它补上!把这个习惯坚持下去! 关于Scala高阶函数详解 1.Scala高阶函数代码实现:高阶函数就是在我们函数中套用函数 2.高阶函数代码详解:高阶函 ...
- 大数据系列修炼-Scala课程06
关于Scala中的正则表达式与模式匹配结合的正则表达式Reg 正则表达式的实现:正则表达式的定义与其它语言差不多,只需在表达式后加一个.r,并且可以遍历相应的表达式进行匹配 //定义的正则表达式 va ...
- 大数据系列修炼-Scala课程04
Scala中继承实现:超类的构造.字段重写.方法重写 关于超类的构建:超类可以在子类没有位置的限制,可以在子类中调用父类的方法 类中字段重写:在重写字段前面加一个override就可以重新赋值 类中方 ...
- 大数据系列修炼-Scala课程08
接下来会讲解关于各种模式匹配,从中就会知道模式匹配的重要性 关于Type.Array.List.Tuple模式解析 1.Type模式匹配代码解析 //关于Type类型的模式匹配 //匹配 Int类型. ...
- 大数据系列修炼-Scala课程02
Scala数组操作实战详解 接着昨天的课程,下面我们继续学习关于Scala数组操作详解.Scala数组的定义 //数组定义 //定长数组格式 /** * val arrayName = new Arr ...
- 大数据系列修炼-Scala课程11
接着昨天的list,也是学习集合的相关知识 ListBuffer.ArrayBuffer.Queue.stack相关操作 1.ListBuffer.ArrayBuffer代码实现:ListBuffer ...
- 大数据系列修炼-Scala课程10
今天主要是关于Scala中对List的相关操作,list在Scala中应该是至关重要,接下来会讲解关于List的一系列操作 List的map.flatMap.foreach.filter操作讲解 1. ...
- 大数据系列修炼-Scala课程05
Scala多重继承.构造器的执行顺序.AOP实现 多重继承的trait实现:Scala中接口可以继承具体的类,trait接口可以实现多重继承,并且某个类也可以继承特定的类,在继承后面可以混入,接口的实 ...
随机推荐
- windows下使用lighttpd+php(fastcgi)+mysql
一.windows下编译配置执行lighttpd 1.下载并安装cygwin. 2.下载lighttpd源码并解压3.在cygwin环境下进入lighttpd的解压文件夹后,执行: 1> ./c ...
- 为什么Redis比Memcached易
GitHub版本号地址: https://github.com/cncounter/translation/blob/master/tiemao_2014/Redis_beats_Memcached/ ...
- WinCE CAB Manager 3.0学习
VS自带智能设备打包工具,能实现打包.但是,打包安装部署之后,设备上面没有卸载,找了好多资料,最终都没有解决. WinCE CAB Manager3.0完美解决. 打包步骤如下, 一,打开WinCE ...
- “ddl”有一个无效 SelectedValue,因为它不在项目列表中。
“ddl_ekt”有一个无效 SelectedValue,因为它不在项目列表中. 怎么回事 现象: 在用户控件的page_load事件里绑定下拉框,报上面错误 解决: 将下拉框绑定,放在page_In ...
- linux---Vim命令集
Vim命令集 命令历史 以:和/开头的命令都有历史纪录,能够首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗体中输入下面命令就可以 vim 直接启动vim vim filena ...
- UVA 11149 - Power of Matrix(矩阵乘法)
UVA 11149 - Power of Matrix 题目链接 题意:给定一个n*n的矩阵A和k,求∑kiAi 思路:利用倍增去搞.∑kiAi=(1+Ak/2)∑k/2iAi,不断二分就可以 代码: ...
- 王立平--怎么查看Unity的版本号
1.打开Unity,Help->About Unity 2.版本
- SRS微信号和QQ组
联系方式:https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Contact $(function () { $('pre.prett ...
- 怎么将Emeditor设置成网页查看源代码的默认编译器
1.打开emditor: 2.在菜单栏中找到工具---->自定义,打开自定义窗口: 3.快捷方式--->更多快捷方式 5.选中“在internet explorer中通过emeditor查 ...
- Mysql 5.6 新特性
随笔,真的随笔,以后理解得更深了再修改. Index Condition Pushdown 更多的让存储引擎去处理Where语句中的条款,避免返回无关字段数据等: Multi-Range Re ...