scala特质构造机制

// trait构造机制
// 构造机制规则:
// 每个特质只有一个无参数的构造器
// 也就是说,trait也有构造代码,但和类不同,特质不能有构造函数
//
// 遇到一个类继承另一个类、以及多个trait的情况,党创建该类的实例时,它的构造器执行顺序如下:
// 1.执行父类的构造器
// 2.按照从左到右的顺序,依次执行trait的构造器
// 3.如果trait有父trait,则先执行父trait的构造器
// 4.如果多个trait有同样的父trait,则父trait的构造器只能初始化一次
// 5.执行子类构造器
object 特质构造机制 {

  trait Logger {
    println("执行Logger构造器")
  }

  trait MyLogger extends Logger {
    println("执行MyLogger构造器")
  }

  trait TimeLogger extends Logger {
    println("执行TimeLogger构造器")
  }

  class Person {
    println("执行Person构造器")
  }

  class Student extends Person with MyLogger with TimeLogger {
    println("执行Student构造器")
  }

  def main(args: Array[String]): Unit = {
    new Student
  }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值