接口,以及与类之间的关系

关键字 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<Data> sup=Date::new;
System.out.println(sup.get())//new Data();

get()方法会调用构造方法
3.函数型接口(Function)
既是生产者又是消费者

interface Function<T, R>{
		R apply(T t);
}
T是消费者。R是生产者
Function<String,intage> fun=s->String.valuesOf(s);
System.out.println(fun.apply("34.12"))//34

4.断言式接口(predicate)
返回的永远是Boolean;
是函数型接口的一种;

predicate <intager,intager> pre=(a,b)->(省略return) a>b;
pre.max(3,4)//false
intage i=2;
predicate<intager> pre=i::equal;//i是对象,equal方法返回值是Boolean
pre.m(4)//false;
 

类与接口之间的关系

类与类之间是单继承,类与接口之间是多实现
接口与接口之间是多继承
类可以在继承一个类的同时,实现一个(多个)接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值