Scala Trait(四)

来源:互联网 发布:linux anaconda 编辑:程序博客网 时间:2024/05/21 22:22
/**  * Trait的构造机制  *///trait也有主构造代码块,不包含在任何方法中的代码就是trait的主构造器的代码trait TraitDemo04 {  println("这是TraitDemo04的主构造代码块!")}trait TraitDemo04_01 extends TraitDemo04 {  println("这是TraitDemo04_01的主构造代码块!")}trait TraitDemo04_02 extends TraitDemo04 {  println("这是TraitDemo04_02的主构造代码块!")}class Person {  println("这是Person的主构造代码块!")}class Student extends Person with TraitDemo04_01 with TraitDemo04_02 {  println("这是Student的主构造代码块!")}object TraitDemo04Object {  def main(args: Array[String]): Unit = {    /**      * 继承了类和trait的构造机制如下:      * 1、执行父类的构造代码块      * 2、执行trait的构造代码块。      * 如果继承多个trait,那么从左到右执行trait的构造代码块。      * 如果多个trait继承了同一个trait,那么先执行父trait的构造代码块,      * 然后再执行子trait的构造代码块,父trait的构造代码块只会执行一次。      * 3、最后执行自己的构造代码块,即子类的构造代码块最后执行      */    val stu = new Student  }}
原创粉丝点击