Scala学习回顾(六)---- Scala中的继承:超类的构造、重写字段、重写方法

注:本文学习源自:DT大数据梦工厂(微信公众号:DT_Spark)

类有一个主构器和任意数量的辅助构造器,而每个辅助构造器都必须以对先前定义的辅助构造器或主构造器的调用开始。子类的辅助构造器最终都会调用主构造器,只有主构造器可以调用超类的构造器。辅助构造器永远都不可能直接调用超类的构造器。在Scala的构造器中,你不能调用super(params),不像Java,可以用这种方式调用超类构造器。

Scala类可以扩展Java类,这种情况下,它的主构造器必须调用Java超类的某一个构造方法。

class Square(x: Int, y: Int, width: Int) extends java.awt.Rectangle(x, y, width, width) {
}

举例:

 Scala学习回顾(六)---- Scala中的继承:超类的构造、重写字段、重写方法_第1张图片

运行结果:

 Scala学习回顾(六)---- Scala中的继承:超类的构造、重写字段、重写方法_第2张图片

补充:

所有的Scala类都实现ScalaObject这个标记接口,这个接口没有定义任何方法。在继承层级的另一端是NothingNull类型。Null类型的唯一实例是null值,你可以将null赋值给任何引用,但不能赋值给值类型的变量,比如,不能将Int设为null,Nothing类型没有实例,对于泛型结构时常有用。

Nothing类型和Java中的void完全是两个概念,在Scala中,voidUnit类型表示,该类型只有一个值,那就是“()”。

参考资料:

scala学习免费视频,关注TD梦工厂,微信公众账号:DT_Spark
王家林提供全方位的大数据、云计算、移动互联网一站式定制培训课程
如有需求,欢迎联系:
Email:[email protected]
Tel:18610086859 
QQ:1740415547

你可能感兴趣的:(Scala)