Dream------scala--scala内部类实战

  scala的内部类跟java的内部类有很大的不同,java中的内部类实际上是从属于外部类,而scala的内部类是从属于外部类对象的(及外部类实例)。

  

class Outer(val name:String){ outer =>
         class Inner(val name:String){
                 def foo(b:Inner) = println(
      "Outer : " +outer.name + "Inner :" +b.name
)
}
}            

object OOPInScala{
         def main(args : Array[String]){
               val outer1 = new Outer("Hadoop")
               val outer2 = new Outer("Spark")
               val inner1 = new outer1.Inner("java")
               val inner2 = new outer2.Inner("scala")
               //这里inner1的foo不能引用inner2,inner2也不能引用inner1
               //也就是说inner1是从属于inner1这个实例的。因为你new的时候用的是outer1,并且赋值给了inner1.
               inner1.foo(inner1)
               inner2.foo(inner2)

}
}

相关来源:

DT大数据梦工厂,微信公众号是:DT_Spark,每天都会有大数据实战视频发布,请您持续学习。
相关资料:
scala深入浅出实战经典完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy  访问密码45e2

  

时间: 2024-10-13 00:26:28

Dream------scala--scala内部类实战的相关文章

大数据Spark蘑菇云前传第15课:Scala类型参数编程实战及Spark源码鉴赏(学习笔记)

前传第15课:Scala类型参数编程实战及Spark源码鉴赏 本課課程: Spark源码中的Scala类型系統的使用 Scala类型系統编程操作实战 Spark源码中的Scala类型系統的使用 classOf[RDD[_]] 這個也是类型系統 這里的意思是說 B 這種類型必需至少是 A 這樣類型 Ordering Scala类型系統编程操作实战 作為類型系統最大的就可以對類型進行限制,在Scala 中的類型系統,他本身也作為對象.e.g. 我們可以建立 Person 這個類,現在可以建立一個什麼

第一课 Scala入门与实战笔记总结

第一课:Scala入门 1:Scala的重大价值 2:Scala基础函数入门实战 3:Scala函数入门实战 4:Scala中的Array,Map,Tuple实战 5:综合案例及Spark源码解析 Scala与Java的关系: 一:它们都是基于JVM的,但Scala可以调用Java的任何功能,比如Spark运行在Hadoop上,它可以调用Hadoop上的一切功能. 二:你可以认为Scala它是一个升级版的Java,因为Scala它本身是一门支持面向对象的语言,在Scala中,一切皆对象,它是一门

第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析

王家林亲授<DT大数据梦工厂>大数据实战视频“Scala深入浅出实战经典”视频.音频和PPT下载!第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析百度云:http://pan.baidu.com/s/1pJ5jzHx腾讯微云:http://url.cn/aSawrm360云盘:http://yunpan.cn/cctL3QYACaVNa  访问密码 c0fb 信息来源于 DT大数据梦工厂微信公众账号:DT_Spark

009-Scala的内部类实战详解

009-Scala的内部类实战详解 Scala内部类详解 与java的区别 java的内部类是从属于外部类的 Scala的内部类是从属于对象的 内部类在调用方法的时候传递的内部类只能是由自己本身 欢迎广大爱好者学习交流.也欢迎广大学习爱好者加入 DT大数据梦工厂交流群:462923555 DT大数据微信公众账号:DT_Spark  视频观看链接 http://www.tudou.com/plcover/Yy5F5gsurSE/

Scala并发编程实战初体验及其在Spark源码中的应用解析之Scala学习笔记-56

package com.leegh.actor import scala.actors.Actor /** * @author Guohui Li */object First_Actor extends Actor { def act() { for (i <- 1 to 10) { println("Step : " + i) println(Thread.currentThread().getName) Thread.sleep(2000) } }} object Seco

蘑菇云行动前传第17课:Scala并发编程实战

package com.dtspark.scala.basics import scala.actors.Actor /** * Scala多线程实战 * 1:开发环境:Scala IDE(版本为:2.11.8)集成开发环境 * 2:引用jar包:scala-actors.jar,scala-actors-migration.jar * 3:该实例使用Scala模式匹配以及Scala多线程使用技术 * Scala多线程并发调用方法为: * 伴生类: class XXX extends Actor

Spark进阶视频之Scala并发编程实战初体验及其在Spark源码中的应用解析

王家林亲授<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载! 欢迎广大Spark爱好者学习交流.也欢迎广大学习爱好者加入DT大数据梦工厂交流群:462923555DT大数据微信公众账号:DT_Spark 视频观看链接http://www.tudou.com/plcover/Yy5F5gsurSE/ 视频下载地址百度云:http://pan.baidu.com/s/1eQGqzEa腾讯微云: http://url.cn/SshT6b

DT梦工厂 第25课 Scala中curring实战详解

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/dHz5JKJxurM/优酷:http://v.youku.com/v_show/id_

Scala中Curring实战详解之Scala学习笔记-16

package com.leegh.function /** * @author Guohui Li */object Curring { def main(args: Array[String]): Unit = { def muliple(x: Int, y: Int) = x * y def multipleOne(x: Int) = (y: Int) => x * y println(multipleOne(6)(7)) def curring(x: Int)(y: Int) = x *