接口,lambda表达式与内部类
Arrays类中的sort方法可对实现了Comparable的接口进行排序
接口中所有的方法自动属于public,声明方法的时候,不必提供关键字public
接口中可以定义常量,不能含有实例域(实现接口的那个类实现方法和提供实例域)
可以将接口看做没有实例域的抽象类
实现接口的原因:
接口的一些特性:
每个类只能有一个超类,但能实现多个接口,这就是为什么有了抽象类,还要实现接口的原因
Java不支持多继承,主要原因是多继承会让语言本身变得复杂,效率也会降低。
而接口可以提供多重继承的大多数好处,同时避免多重继承的复杂和低效性。
接口中可以增加静态方法。理论上合法,但是有违于将接口作为抽象规范的初衷
默认方法:
默认方法的意义:
解决默认方法冲突
所以为接口增加默认方法,对于有默认方法之前能正常工作的代码不会有任何影响
Comparator接口
为什么要使用这个呢?考虑按照字符串的长度对字符串排序,则要自定义一个比较器
对象克隆
浅拷贝:
关于标记接口:
sort的时候,一种完美的比较方法
接口方法的默认实现有什么作用?兼容?尝试
lambda表达式
IntConsumer在哪里
处理lambda表达式,函数式接口那一块
再谈comparator
代理略过了