- 特点
- 函数式接口
- 支持lambda表达式
- 函数式接口四大类型
- 类与接口之间的关系
关键字 interface
特点1.关键字 interface
2. 接口是特殊的抽象类
3. #### 接口中定义的成员方法:抽象方法,default方法,私有静态方法,公有静态方法
3. 接口定义的属性都是public static final修饰的,是常量
4. 接口中没有构造方法
有且只有一个抽象方法(object中的方法除外),这样的接口可以称为函数式接口
@FunctionalInterface 作用:在编译时检查该接口是否是函数式接口
支持lambda表达式1.语法:
(参数列表)->{方法体}
2.注意事项:
如果参数只有一个的,可以省略小括号;
如果方法体只有一句,可以省略大括号;
省略大括号后,如果有return关键字,必须省略return;
消费/生产的参数类型皆为包装类
1.消费型接口(Consumer)-消费者需要一个参数,无返回值
BiConsumer–消费者需要两个参数
2.生产型接口(supplier)
生产者不需要参数,直接返回数据
生产一个返回int的数据
IntSupplier sup4=TestSuplier::getAge; System.out.pritln(sup4.getAsint());
引用无参构造,创建一个生产者对象
Supplier sup=Date::new; System.out.println(sup.get())//new Data();
get()方法会调用构造方法
3.函数型接口(Function)
既是生产者又是消费者
interface Function{ R apply(T t); } T是消费者。R是生产者 Function fun=s->String.valuesOf(s); System.out.println(fun.apply("34.12"))//34
4.断言式接口(predicate)
返回的永远是Boolean;
是函数型接口的一种;
predicatepre=(a,b)->(省略return) a>b; pre.max(3,4)//false
intage i=2; predicate类与接口之间的关系pre=i::equal;//i是对象,equal方法返回值是Boolean pre.m(4)//false;
类与类之间是单继承,类与接口之间是多实现
接口与接口之间是多继承
类可以在继承一个类的同时,实现一个(多个)接口
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)