问题
当我第一次使用的时候, 因为之前一直使用抽象类, 或者定义内部对象, 然后调用内部对象中的方法, 所以我当时有了以下几个问题:
能否引入多个, 如果可以的话, 同名方法如何处理
引入方法与现有方法重名时..., 如何解决
能否定义抽象方法, 因为有些方法需要知道使用时的情况, 在抽象类中, 这种情况一般通过调用抽象方法来解决
能否定义字段
能否将字段或方法定义为静态
能否对方法进行权限控制
答疑
1....引入方法与现有方法重名时, 会优先调用类中已定义的方法, 其优先级顺序为: 当前类方法>trait方法>父类方法
3. trait 中可以定义抽象方法, 语法与抽象类相同
?...4.trait 中可以定义字段, 语法与类相同
?
5. 可以定义静态方法与静态字段
?
6. 可以进行方法权限的控制
?
7....另外, 在trait 代码块中还可以引入其他trait代码块, 语法与类中引入相同:
?
总结
至此, 我发现了一个新的问题, 这个 trait 与抽象类有什么区别?