scala言语基础学习六

Posted 呢喃的歌声

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala言语基础学习六相关的知识,希望对你有一定的参考价值。

trait的学习

1、将trait作为接口来使用

trait中可以实现一些方法,子类只要extends 了trait就可以直接使用父trait里面的方法

普通继承的话父类和子类之间的field是通过引用访问,而trait之间的继承scala编译器会直接用同一个field

trait的抽象filed 继承者必须实现

为实例混入trait

trait调用链

 

在trait中覆盖抽象方法

此时不能调用因为是抽象方法

 

混合使用trait的具体方法和抽象方法

trait的构造机制

在具有继承和with多个trait的情况下,先调用父类的构造方法,然后再依次从左到右边调用trait的构造方法(只要不存在方法中的代码全部是trait的构造方法代码),最后调用自己的构造方法

 

案例

解决办法提前初始化1:

解决办法利用lazy2:

 

以上是关于scala言语基础学习六的主要内容,如果未能解决你的问题,请参考以下文章

scala言语基础学习九

scala言语基础学习二

scala言语基础学习三

scala言语基础学习十一

scala言语基础学习四

大数据学习06 Scala的基础语法