练习:
定义一个接口flyable,里面定义一个抽象方法 void fly(String s)定义一个测试类flyabledemo,在测试类中提供两个方法一个方法是useFlyable(Flyable f)
主方法,在主方法中调用useflyable方法
练习2
定义一个接口(Addable),里面定义一个抽象方法, int add(int x ,int y)定义一个测试类(AddableDemo),在测试类中提供两个方法一个方法是:useAddable(Addable)
一个主方法是,在主方法中调用useAddable方法
Lambda表达式的省略模式省略规则:
参数类型可以省略,但是有多个参数的情况下,不能只省略一个如果参数有且仅有一个,那么小括号可以省略如果代码块的语句只有一条,可以省略大括号和分号,甚至是return。 Lambda使用注意事项 使用Lambda必须要有接口,并且接口中有且仅有一个抽此昂方法必须有上下文环境,才能推导出lambda对应接口根据局部变量的赋值得知lambda对应的接口:Runnable r = () -> System.out.println("lambda表达式");
根据调用方法的参数得知lambda对应的接口:new Thread( () -> System.out.println("lambda表达式")).start();
Lambda表达式和匿名内部类的区别所需类型不同:
匿名内部类:可以是接口,也可以是抽象类,还有可以是具体类lambda表达式:只能是接口使用限制不同:
如果接口中有且仅有一个抽象方法,可以使用lambda表达式,也可以使用匿名内部类如果接口中多于一个抽象方法,只能使用匿名内部类,而不能使用lambda比表达式实现原理不同:
匿名内部类:编译之后,产生一个单独的.class字节码文件lambda表达式:编译之后,没有一个单独的.class文件,对应哪个的字节码会在运行的时候动态生成到此这篇关于Lambda表达式的使用及注意事项的文章就介绍到这了,更多相关Lambda表达式 内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!