Scala深入浅出进阶经典 第52讲:Scala中路径依赖代码实战详解
2015-09-25 23:13
375 查看
package com.dt.scalaInAction.demo_052 /** * Scala中路径依赖代码实战详解 */ class Outer { private val x = 10 class Inner { private val y = x + 10 } } object Path_Dependence { def main(args: Array[String]): Unit = { val outer = new Outer val iner = new outer.Inner //val iner: outer.Inner /** * Scala中的内部类 必须依赖于外部类的实例 而外部类的实例各不相同 所以被之为这种对于外部类的依赖为"路径依赖" * 所以不同的路劲代表不同的类型 */ val inner2: outer.Inner = new outer.Inner val o1 = new Outer val o2 = new Outer //val i: o2.Inner = new o1.Inner //error //这说明o2.Inner 和 o1.Inner不是同一个类型 根本原因是因为o1和o2类型不用 导致"路径"不同 //这说明o1.Inner是Outer#Inner的子类 这种方式称之为"类型投影" 在实战中作用不大 val i: Outer#Inner = new o1.Inner val j: Outer#Inner = new o2.Inner //说明o1.Inner和o2.Inner都有共同的子类Outer#Inner } }
以上内容是从王家林老师DT大数据课程第52讲的学习笔记和个人整理。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
第52讲视频网站地址:http://pan.baidu.com/s/1gdES4hX
相关文章推荐
- PHP+Sphinx+Mysql做搜索引擎
- NetBeans中一个窗口的相对于另外一个窗口的位置
- Scala深入浅出进阶经典 第51讲:Scala中链式调用风格的实现代码实战及其在Spark编程中的广泛运用
- Scala深入浅出进阶经典 第49讲:Scala中Variance代码实战及其在Spark中的应用源码解析
- C语言的关键字
- Scala深入浅出进阶经典 第48讲:Scala类型约束代码实战及其在Spark中的应用源码解析
- Python | The Zen of Python
- java研发面经:滴滴、美团、网易、58赶集等
- 《C++primer(第五版)》学习之路-第十章:泛型算法
- NetBeans中两个窗体之间如何传值
- JAVA学习第四天
- Java 权限修饰符
- 【C语言】求1+2!+3!+...+20!的和
- Python使用struct处理二进制
- java实现随机字符串添加到List中并排序
- netbeans中表格使用2
- 【转载,自己做了些批注】重学C++ Primer后一些基本知识点注意点总结
- netbeans中表格使用1
- (php)输出杨辉三角
- 笔试最长子数组和最大子矩阵c#