第52讲:Scala中路径依赖代码实战详解
今天学习了scala中的路径依赖,来看一下实战代码
class Outer{
private val x = 10
class Inner{
private val y = x +10
}
}
这里定义了一个外部类Outer,Outer里定义了私有的成员x。同时定义了内部类Inner,内部类里定义了私有成员y。
在这里,内部类Inner可以访问外部类的私有成员x,而外部类不能访问内部类Inner的私有成员y。
继续看这段代码:
object test52{
def main(args:Array[String]){
val outer = new Outer
val inner = new outer.Inner
val inner2 : outer.Inner = new outer.Inner
val o1 = new Outer
val o2 = new Outer
// val i : o2.Inner = new o1.Inner
首先,实例化外部类outer,inner,接着,实例化内部类inner2,在这里我们可以看到,inner2的类型为outer.Inner,说呢,同一个外部类的内部类实例的类型是相同的。
接着往下看,实例化外部类成员o1,o2,接着,让一个类型为o2.Inner的i实例化为o1.Inner的对像,这里编译器会报错,因为,o2.Inner和o1.Inner是两个不同的外部类,它们的内部类的类型也不会相同。
这就是scala中的路径依赖的作用。
分享下更多的scala资源吧:
百度云盘:http://pan.baidu.com/s/1gd7133t
微云云盘:http://share.weiyun.com/047efd6cc76d6c0cb21605cfaa88c416
360云盘: http://yunpan.cn/cQN9gvcKXe26M (提取码:13cd)
信息来源于 DT大数据梦工厂微信公众账号:DT_Spark
关注微信账号,获取更多关于scala学习内容
第52讲:Scala中路径依赖代码实战详解的更多相关文章
- Scala 深入浅出实战经典 第52讲:Scala中路径依赖代码实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第64讲:Scala中隐式对象代码实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第63讲:Scala中隐式类代码实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- 王家林系列之scala--第69讲:Scala并发编程react、loop代码实战详解
刚才看了一下,群里王家林老师又更新课程了,真为王老师的勤奋感到佩服,于是迫不及待的下载下来观看学习.本期讲的是关于scala并发编程的react.loop代码实战. 信息来源于 DT大数据梦工厂微信公 ...
- 第45讲:Scala中Context Bounds代码实战及其在Spark中的应用源码解析
今天学业习了上下文界定的内容,看下这段代码 class Pair_Ordering[T:Ordering](val first : T,val second : T){ def bigger(imp ...
- 第44讲:Scala中View Bounds代码实战及其在Spark中的应用源码解析
今天学习了view bounds的内容,来看下面的代码. //class Pair[T <: Comparable[T]](val first : T,val second : T){// d ...
- 第43讲:Scala中类型变量Bounds代码实战及其在Spark中的应用源码解析
今天学习了scala的界定,先来看看下面这段代码 //class Pair[T] (val first : T,val second : T)class Pair[T <: Comparable ...
- 第71讲:Scala界面Panel、Layout实战详解
今天学习了王家林老师scala讲座的第71讲,scala界面编程panel实战.让我们一起来看一下. 信息来源于 DT大数据梦工厂微信公众账号:DT_Spark 关注微信账号,获取更多关于王家林老师的 ...
- 第33讲:List的一阶函数操作代码实战详解
今天来看一下关于List的一阶函数操作 让我们看下下面的代码 println(List(1,2,3,4):::List(4,5,6,7,8):::List(10,11))//列表连接 print ...
随机推荐
- Java基础---MD5和BASE64
package cn.peter; import sun.misc.BASE64Encoder; import java.io.UnsupportedEncodingException; import ...
- Python“Non-ASCII character 'xe5' in file”报错问题(转)
今天在编译一个Python程序的时候,一直出现"Non-ASCII character 'xe5' in file"报错问题 SyntaxError: Non-ASCII char ...
- AD账号创建日期、最近一次登录时间、最近一次重置密码时间查询
一:查询此AD域内所有用户的创建日期 Get-ADuser -filter * -Properties * | Select-Object Name,SID, Created,PasswordLas ...
- Android 7.0 UICC 分析(三)
本文讲解UICCCardApplication /frameworks/opt/telephony/src/java/com/android/internal/telephony/uicc/UiccC ...
- java验证码刷新
可以使用a标签,这样省事 <img id="code_img" src="validcode" alt="登录验证码" /> & ...
- JS Encode and Decode URL
1.Encode URL String var url = $(location).attr('href'); //get current url //OR var url = 'folder/ind ...
- 20151214study
An important quality of steel is its strength. (1)钢铁的最重要品质是其强度.She made a quick decision.她做了一个很快的决定. ...
- [转载]赖勇浩:推荐《Linux 多线程服务器端编程》
推荐<Linux 多线程服务器端编程> 赖勇浩(http://laiyonghao.com) 最近,有一位朋友因为工作需要,需要从网游的客户端编程转向服务器端编程,找我推荐一本书.我推荐了 ...
- c# json转换实例
用户实体: public class UserModel { public long? UserId { get; set; } public string UserName { get; set; ...
- 在线编辑器的使用-KindEditor
第一种:KindEditor编辑器 步骤一:加载相应的核心的文件 下载地址:http://kindeditor.net/demo.php <link rel="stylesheet&q ...