Scala 多继承顺序
Posted AK47Sonic
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala 多继承顺序相关的知识,希望对你有一定的参考价值。
Trait多继承顺序:
准则:
- 如果有超类,则先调用超类的函数。
- 如果混入的trait有父trait,它会按照继承层次先调用父trait的构造函数。
- 如果有多个父trait,则按顺序从左到右执行。
- 所有父类构造函数和父trait被构造完之后,才会构造本类的构造函数。
object TraitOrder extends App { trait Logger { println("Logger") } trait FileLogger extends Logger { println("FileLogger") } trait Closable { println("Closable") } class Person{ println("Constructing Person...") } class Student extends Person with FileLogger with Closable { println("Constructing Student ...") } new Student }
运行结果:
以上是关于Scala 多继承顺序的主要内容,如果未能解决你的问题,请参考以下文章
linux打开终端如何启动scala,如何在终端下运行Scala代码片段?