java-接口
1.使用接口的好处:通用性、隔离性
2.定义接口的格式:public interface 接口名{//}
3.接口的组成部分:
- 抽象方法【核心内容】
- 常量
- 默认方法(java8)
- 静态方法(Java8)
- 私有方法(java9)
4.定义一个抽象方法、格式:public abstract 返回值类型 方法名(参数类型 参数)
- 修饰符public abstract 也可以省略不写
- 抽象方法不可以写方法体大括号
5.接口要想使用,一定要有一个实现类,如何实现?
publicclass 类名称 implements 接口名{//覆盖重写所有的抽象方法}
6.如何覆盖重写(override)抽象方法呢?一般步骤
- 讲抽象方法抄写过来
- 去掉abstract关键字
- 写上方法体
7.使用接口和实现类的一般格式:
- 创建:接口名称 引用名 = new 实现类名称()
- 调用:引用名.抽象方法名(参数)
- 注意:只能调用左侧接口当中定义好的方法,无法调用右侧实现类中特有的方法。程序运行的时候,方法的执行者其实是右边的类对象;调用的时候看左边,但是运行的时候看右边。
8.从java8开始,没有接口的实现类,也可以直接使用接口:lambda表达式
9.lambada使用前提:一定要有函数式接口才能使用,没有函数式接口就不能用lambda表达式。
10.函数式节后:有且仅有一个抽象方法的接口,无所谓有没有@functionalInterface ,这是可选的检测手段而已。
11.使用lambda必须要有推断环境:
- 要么根据参数类型传参来推断函数式接口
- 要么根据赋值语句左侧类型推断函数式接口
12.lambda表达式的标准格式:(int a,int b)->{return a+b;}
13.lambda简便格式:
- 参数的类型可以省略
- 如果有且仅有一个 参数,那么小括号可以省略
- 如果有且仅有一个语句,那么大括号和return也可以省略