第10课:Scala继承彻底实战和Spark源码鉴赏
来源:互联网 发布:面包板是做单片机的吗 编辑:程序博客网 时间:2024/06/09 23:47
本节课详细讲解视频地址:
大数据Spark"蘑菇云"行动Scala继承详解搜狐视频地址:http://my.tv.sohu.com/us/48296654/84698083.shtml
1、父类一般都是抽象类,但是也有些情况不是,这样的话继承的子类不需要修改任何代码就可以运行;
2、isInstanceOf、asInstanceOf解析
isInstanceOf[T]
判断对象是否为T类型的实例。
isInstanceOf和asInstanceOf 由scala.Any类定义,Scala类层级的根类;其中class scala.AnyRef 继承自Any,是所有应引用类型的基类;trait scala.AnyVal 也继承自Any,是所有基本类型的实现的trait。
所以所有对象都自动拥有isInstanceOf和asInstanceOf这两个方法。
特别注意的是 Any 和AnyRef 这两个类属于“编译时类型”(虚拟类型?),不存在于运行时。所以这两者在Scala中都未提供源码,其语义由编译器在编译时构建。
再看一下例子:
scala> 1.isInstanceOf[String] res0: false scala> List(1).isInstanceOf[List[String]] res0: true
由于Scala像Java一样泛型存在类型擦除的原因,List(1).isInstanceOf[List[String]]及相当于List(1).isInstanceOf[List[_]], List(1) 是List的实例.asInstanceOf[T]
将对象类型强制转换为T类型,子类转换成父类
结论
总而言之,我们把classOf[T]看成Java里的T.class, obj.isInstanceOf[T]看成 obj instanceof T, obj.asInstanceOf[T]看成(T)obj就对了。scala为我们提供了语法糖,但也免不了类型擦除问题的影响。
备注:
资料来源于:DT_大数据梦工厂(Spark"蘑菇云"行动)
更多私密内容,请关注微信公众号:DT_Spark
如果您对大数据Spark感兴趣,可以免费听由王家林老师每天晚上20:00开设的Spark永久免费公开课,地址YY房间号:68917580
1 0
- 大数据Spark“蘑菇云”行动-第10课:Scala继承彻底实战和Spark源码鉴赏
- 第10课:Scala继承彻底实战和Spark源码鉴赏
- 大数据Spark “蘑菇云”行动前传第10课:Scala继承彻底实战和Spark源码鉴赏.
- Scala继承彻底实战和Spark源码鉴赏
- 第9课:Scala类和对象彻底实战和Spark源码鉴赏
- 第11课:scala面向接口编程彻底实战和spark源码鉴赏
- 第11课:Scala面向接口彻底实战和Spark源码鉴赏
- 大数据Spark“蘑菇云”行动-第11课:Scala面向接口彻底实战和Spark源码鉴赏
- 第16课:Scala implicits编程彻底实战及Spark源码鉴赏
- 第16课:Scala implicits编程彻底实战及Spark源码鉴赏
- 大数据Spark“蘑菇云”行动-第13课Scala模式匹配实战和Spark源码鉴赏
- 大数据Spark “蘑菇云”行动前传第9课:Scala类和对象彻底实战和Spark源码鉴赏
- 第21课:scala文件和xml操作实战及spark源码鉴赏
- 第22课: Scala集合和高级函数操作实战及Spark源码鉴赏
- Scala implicits编程彻底实战及Spark源码鉴赏
- 第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码鉴赏
- 大数据Spark “蘑菇云”行动前传第16课:Scala implicits编程彻底实战及Spark源码鉴赏
- 大数据Spark “蘑菇云”行动前传第13课Scala模式匹配实战和Spark源码鉴赏
- UVA11292 HDU1902 POJ3646 Dragon of Loowater
- 开关频率
- 29. Spring boot 文件上传(多文件上传)【从零开始学Spring Boot】
- dp做题的基本思路和优化思想
- hdu 2191 多重背包
- 第10课:Scala继承彻底实战和Spark源码鉴赏
- log4j配置
- 调整数组顺序使奇数位于偶数前面
- 30. 导入时如何定制spring-boot依赖项的版本【转载】【从零开始学Spring Boot】
- MAC、IP头、TCP头、UDP头帧格式、详解copy
- 从小数据分析到大数据平台,这十几年来大数据开源技术是如何演进的?
- 无法定位程序输入点 K32GetModuleInformation 于动态链接库 KERNEL32.dll 上
- 本征半导体和PN结概念解析
- H264码流打包分析