标签:
今天上班看了很多关于前端js,jQuery、bootstrap.js以及springMVC看得迷迷糊糊的,毕竟以前很少去学习前端的技术,所有看得有点困,还好看得比较多,回家后也开始学习关于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单例对象详解:单例对象可以直接访问中公有的方法和变量,这与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} }
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
标签:
原文地址:http://www.cnblogs.com/524646016-zhang/p/zhangsh_dt_scala_03.html