Scala 多继承顺序
2024-08-30 01:51:55
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
}
运行结果:
最新文章
- pycharm 2016.3 注册码
- 学习 HTML5-目录
- [转]C# WinForm treeview checkbox----递归算法利用
- Protocol Buffers(Protobuf) 官方文档--Protobuf语言指南
- 设置ASP.NET MVC站点默认页为html页
- MySQL 数据类型 详解 (转载)
- MJRefreshFooterView
- 《C语言程序设计现代方法》第2章 C语言基本概念
- Python变量和数据类型
- Spark结构式流编程指南
- QT4.8.5 连接数据库(读写数据)
- 学习PHP的必备开发工具
- ImageMagick 使用经验
- Jexus 5.4.6 on CentOS 6.6
- PAT甲级
- mysql优化的21条经验(转)
- plsql连接远程oracle数据库
- SpringMVC源码阅读:拦截器
- 2018.08.31 19:41 自学go语言
- 20172301 《Java软件结构与数据结构》实验二报告
热门文章
- [python]打开文件操作open用法
- zstuoj 4423: panda和卡片
- Codeforces Technocup 2017 - Elimination Round 2 E Subordinates(贪心)
- pandas数据分析输出excel产生文本形式存储的百分比数据,如何处理?
- CentOS配置服务开机自启
- Accuarcy and Precision
- Python初步接触与学习
- style属性css与javascript对照表
- Solve Hibernate Lazy-Init issue with hibernate.enable_lazy_load_no_trans
- TestNG(三) 基本注解BeforeMethod和AfterMethod