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

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

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

接口
    • 特点
    • 函数式接口
        • 支持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;
是函数型接口的一种;

predicate  pre=(a,b)->(省略return) a>b;
pre.max(3,4)//false
intage i=2;
predicate pre=i::equal;//i是对象,equal方法返回值是Boolean
pre.m(4)//false;
 
类与接口之间的关系

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5612518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存