前言

今天上班看了很多关于前端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的更多相关文章

  1. 大数据系列修炼-Scala课程01

    简介 由于本人刚毕业,也是从事软件开发相关的工作.想再学习一下关于大数据.移动互联网.云计算相关的技术.为我的未来打好基础.并且从零开始学习大数据相关的知识,脚踏实地的走好每一步,听行业前辈说毕业生刚 ...

  2. 大数据系列修炼-Scala课程07

    由于昨天下班后有点困,就没有来及写博客,今天会把它补上!把这个习惯坚持下去! 关于Scala高阶函数详解 1.Scala高阶函数代码实现:高阶函数就是在我们函数中套用函数 2.高阶函数代码详解:高阶函 ...

  3. 大数据系列修炼-Scala课程06

    关于Scala中的正则表达式与模式匹配结合的正则表达式Reg 正则表达式的实现:正则表达式的定义与其它语言差不多,只需在表达式后加一个.r,并且可以遍历相应的表达式进行匹配 //定义的正则表达式 va ...

  4. 大数据系列修炼-Scala课程04

    Scala中继承实现:超类的构造.字段重写.方法重写 关于超类的构建:超类可以在子类没有位置的限制,可以在子类中调用父类的方法 类中字段重写:在重写字段前面加一个override就可以重新赋值 类中方 ...

  5. 大数据系列修炼-Scala课程08

    接下来会讲解关于各种模式匹配,从中就会知道模式匹配的重要性 关于Type.Array.List.Tuple模式解析 1.Type模式匹配代码解析 //关于Type类型的模式匹配 //匹配 Int类型. ...

  6. 大数据系列修炼-Scala课程02

    Scala数组操作实战详解 接着昨天的课程,下面我们继续学习关于Scala数组操作详解.Scala数组的定义 //数组定义 //定长数组格式 /** * val arrayName = new Arr ...

  7. 大数据系列修炼-Scala课程11

    接着昨天的list,也是学习集合的相关知识 ListBuffer.ArrayBuffer.Queue.stack相关操作 1.ListBuffer.ArrayBuffer代码实现:ListBuffer ...

  8. 大数据系列修炼-Scala课程10

    今天主要是关于Scala中对List的相关操作,list在Scala中应该是至关重要,接下来会讲解关于List的一系列操作 List的map.flatMap.foreach.filter操作讲解 1. ...

  9. 大数据系列修炼-Scala课程05

    Scala多重继承.构造器的执行顺序.AOP实现 多重继承的trait实现:Scala中接口可以继承具体的类,trait接口可以实现多重继承,并且某个类也可以继承特定的类,在继承后面可以混入,接口的实 ...

随机推荐

  1. 桥模式设计模式进入Bridge

    Abstraction:抽象部分的父类,定义须要实现的接口. 维护对实现部分的引用,从而把实现桥接到Implementor中去 Implementor:实现部分的接口 RefinedAbstracti ...

  2. 安装nodejs搭建ghost个人博客

    记录一下今天在linux下折腾nodejs的过程,相互学习: (不知道为什么用源代码安装,调用npm的时候老是会出现找不到npmlog的 错误,后来换用下了个二进制 来搞,假设那个牛牛知道为什么.希望 ...

  3. NYOJ 745 蚂蚁问题(两)

    蚂蚁的难题(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描写叙述 下雨了,下雨了.蚂蚁搬家了. 已知有n种食材须要搬走,这些食材从1到n依次排成了一个圈.小蚂蚁对每种 ...

  4. Cocos2d-x-Lua 开发一个简单的游戏(记数字步进白色块状)

    Cocos2d-x-Lua 开发一个简单的游戏(记数字步进白色块状) 本篇博客来给大家介绍怎样使用Lua这门语言来开发一个简单的小游戏-记数字踩白块. 游戏的流程是这种:在界面上生成5个数1~5字并显 ...

  5. Mac OS X Yosemite安装Hadoop 2.6记录

    整个安装过程分为四部分: 一.  安装Homebrew 二.  ssh localhost 三. 安装Hadoop已经进行配置文件设置 (伪分布式) 四. 执行栗子 一. 安装Homebrew 採用H ...

  6. 开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式

    原文:[原创]开源Math.NET基础数学类库使用(03)C#解析Matlab的mat格式 开源Math.NET基础数学类库使用系列文章总目录:   1.开源.NET基础数学计算组件Math.NET( ...

  7. 求Sn=a+aa+aaa+…+aa…aaa(有n个a)…

    时间限制: 1 Sec  内存限制: 128 MB 提交: 352  解决: 174 [提交][状态][讨论版] 题目描述 求Sn=a+aa+aaa+-+aa-aaa(有n个a)之值,其中a是一个数字 ...

  8. c++内存泄漏处理(积累)

    写c++程序时,常常会出现内存泄漏的问题,这里从网上找了一种非常麻烦的方法:假设想找到每一个cpp文件的内存泄漏,都必须在每一个cpp加上例如以下代码: #include <crtdbg.h&g ...

  9. WWDC2014开源

    A Cocoa OSX App to help you download WWDC2014 videos 地址:https://github.com/iosxtools/WWDC2014 版权声明:本 ...

  10. ubuntu 下舒畅的使用libreoffice

    step 1 英语渣的同学.或者对功能栏的一大堆略显专业的单词不敢下手的同学 你须要一个中文汉化包 不用去官网找了,源里就有 sudo apt-get install libreoffice-l10n ...