大数据系列修炼-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接口可以实现多重继承,并且某个类也可以继承特定的类,在继承后面可以混入,接口的实 ...
随机推荐
- Mybatis深入之事务管理
Mybatis之事务管理 简单介绍 Mybatis的事务管理分为两种JdbcTransaction.ManagedTransaction. 当中JdbcTransaction仅仅是对数据库连接Conn ...
- Scala---For语句段
For语句段 语法: Expr1 ::= „for‟ („(‟ Enumerators „)‟ | „{‟ Enumerators „}‟) {nl} [„yield‟] Expr Enumerato ...
- 阿里巴巴2014年校园招聘(秋季招聘)在线笔试--測试研发project师
第一部分是单选题:40分钟答题时间. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveG1oMTk1NA==/font/5a6L5L2T/fontsize/ ...
- hdu 4661 Message Passing(木DP&组合数学)
Message Passing Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Other ...
- Palindromes _easy version
Time Limit: 1Sec MemoryLimit: 64 MB Submit:165 Solved: 76 [Submit][Status][WebBoard] Description & ...
- FlowLayoutPanel 内的控件怎么调换顺序?
lowLayoutPanel1.Controls.SetChildIndex("flowLayoutPanel中的控件",顺序索引)
- 矩阵求逆c++达到
高斯消元法能够用来找出一个可逆矩阵的逆矩阵.设A 为一个N * N的矩阵,其逆矩阵可被两个分块矩阵表示出来.将一个N * N单位矩阵 放在A 的右手边,形成一个N * 2N的分块矩阵B = [A,I] ...
- MINA2 源代码学习--源代码结构梳理
一.mina总体框架与案例: 1.总体结构图: 简述:以上是一张来自网上比較经典的图,总体上揭示了mina的结构,当中IoService包括clientIoConnector和服务端IoAccepto ...
- Attribute(两)——定义自己的特色+Asp.net MVC中间filter详细解释
部分博客是预先定义的有关特性的一些基本特征,同时还Attribute这一概念的一个宏观上的认识,在上篇博客结尾介绍了有关为自己定义特性服务的AttributeUsage,这篇博客主要是通过filter ...
- HDU1160(LIS)
主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1160 题意:求体重下降.速度添加的样例最多有多少个 依据体重降序排一下,然后求速度的最长上升子序列 , ...