接口,lambda表达式与内部类
接口(interface)描述类做什么
- lambda使用回调函数或可变行为代码
- 内部类设计具有相互协作关系 的类有用。———可访问类外部字段
class Arrays{ sort()方法对数组进行排序 要求数组类满足Comparable接口 }
public interface Comparable{ int compareTo(Object other); } //说明任何需要使用该接口的类必须有Comparable方法 //接口的声明自动为public,不需要重复声明public //在类中需要声明为public
当接口没有明确说明的附加要求
x.comparTo(y)
当x < y,return 负数;
当x = y,return 0;
当x > y,return 正数;
接口绝不会有实例字段,方法也不能引用实例字段
接口不是类,不能用new实例化一个对象,声明接口常量还是可以的。
接口常量必须引用实现了这个接口的类对象
为什么使用接口?
在Java中,每个类只能有一个超类,但却可以有很多接口。