JAVA面向对象之箭头函数
箭头函数
如果一个接口只有一个抽象方法,那么这个接口也称之为函数式接口。可以使用@FunctionalInterface注解标识。
@FunctionalInterface public interface Function { int plus(int i,int j); }
当我们使用函数式接口去构造内部类时,我们很简单的表示:
public class Client { public static void test(Function function){ System.out.println(function.plus(1, 2)); } public static void main(String[] args) { // 这里我们使用了内部类 test(new Function() { @Override public int plus(int i, int j) { return i + j; } }); } }
这样写的话其实和抽象类没有什么区别,并不能体现出函数式接口的优越性
我们可以对之进行简化,
类名方法名全不要,这个结构分为两部分,第一部分,小括号包裹形参,类型也不要、第二部分 ->、第三部分是方法体
public class Client { public static void test(Function function){ System.out.println(function.plus(1, 2)); } public static void main(String[] args) { // 这里我们使用了内部类 test((i,j)->{ return i+j;}); } }
只有一行的返回体的话我们甚至可以省略大括号
public class Client { public static void test(Function function){ System.out.println(function.plus(1, 2)); } public static void main(String[] args) { // 这里我们使用了内部类 test((i,j)->return i+j); } }
下一篇:
【程序源代码】微信小程序商城-最新源码