Scala继承
来源:互联网 发布:万网域名怎么转入 编辑:程序博客网 时间:2024/05/23 01:59
类型检查和转换
要测试某个对象是否属于某个给定的类,可以使用isInstanceOf方法,如果测试成功,你可以用asInstanceOf方法将引用转换为子类的引用
if(p.isInstanceOf[Employee]){ val s = p.asInstanceOf[Employee]}
if(p.getClass==classOf[Employee]),classOf方法定义在scala.Predef对象中,因此会被自动引入。
Scala
Java
obj.isInstanceOf[C]
obj instanceof C
obj.asInstanceOf[C]
(C)obj
classOf[C]
C.class超类的构造
类有一个主构造器和任意数量的辅助构造器,而每个辅助构造器都必须以对先前定义的辅助构造器或主构造器的调用开始。子类的辅助构造器最终都会调用主构造器,只有主构造器可以调用超类的构造器。辅助构造器永远都不可能直接调用超类的构造器。在Scala的构造器中,你不能调用super(params),不像Java,可以用这种方式调用超类构造器。
Scala类可以扩展Java类,这种情况下,它的主构造器必须调用Java超类的某一个构造方法。
class Square(x: Int, y: Int, width: Int) extends java.awt.Rectangle(x, y, width, width) {}
重写字段
有如下限制:
- def只能重写另一个def
- val只能重写另一个val或不带参数的def
- var只能重写另一个抽象的var
Scala类型
所有的Scala类都实现ScalaObject这个标记接口,这个接口没有定义任何方法。在继承层级的另一端是Nothing和Null类型。Null类型的唯一实例是null值,你可以将null赋值给任何引用,但不能赋值给值类型的变量,比如,不能将Int设为null,Nothing类型没有实例,对于泛型结构时常有用。
Nothing类型和Java或C++中的void完全是两个概念,在Scala中,void由Unit类型表示,该类型只有一个值,那就是()。
1 0
- Scala继承
- Scala 继承
- scala------ 继承
- Scala继承
- scala学习:scala中的继承
- Scala学习(八)---Scala继承
- [scala之七]继承
- scala简要: 继承
- Scala详解----------继承
- Scala详解---------继承深入
- 0012.Scala中的继承
- Scala 类的继承
- scala demo - 继承关系
- scala基础14-继承
- Scala继承知识点
- Scala之继承
- 7.scala:继承
- scala 类与继承
- POJ2135Farm Tour(最小费用最大流模板)
- Google Java编程风格指南
- AM使用指南之一:Transaction和DBTransaction的区别与联系
- 黑马程序员,黑马论坛-------- 线程生产者消费者
- Android PopupWindow 仿微信弹出效果
- Scala继承
- COFF 与PE文件
- Mathematically Hard (欧拉定理)
- flume-ng+Kafka+Storm+HDFS 实时系统搭建
- AM使用指南之二:Nested AM与Root AM之间的Transaction关系
- 黑马程序员,黑马论坛------(分享)Java 中的异常处理机制的简单原理和应用
- 菜鸟系列之C/C++经典试题(二)
- AM使用指南之三:如何在Managed Bean中获取AM实例?
- http://poj.org/problem?id=2251