【Java】函数式接口

函数式接口

@FunctionalInterface
来约束接口是一个函数式接口

@FunctionalInterface
public interface InterA {
	public abstract void print();
}

Lambda表达式的省略规则:
如果方法中只有一个参数,那么数据类型和小括号多可以省略
如果方法中有多个参数,那么数据类型可以省略
如果大括号中只有一行代码,那么大括号、return、分号都可以省略(三者必须一起省略)
----------------------------------------------
通过Lambda表达式调用method方法。输出:

调用一个无参数无返回值类型的方法。

main {
	method(()->{syso();});
	//省略格式
	method(()->syso());
}
public static void method(InterA i) {
	i.print();
}

调用一个有参数有返回值类型的方法。

main {
	method(10, 20, (int num1, int num2)->{return num1 + num2;});
	//省略格式
	method(10, 20, (int num1, int num2)->num1 + num2);
}
public static void method(int num1, int num2, InterB i) {
	int result = i.getSum(num1, num2);
	syso(result);
}

接口InterA:

@FunctionalInterface
public interface InterA {
	public abstract void print();
}

接口InterB:

@FunctionalInterface
public interface InterB {
	public abstract int getSum(int num1, int num2);
}
发布了38 篇原创文章 · 获赞 4 · 访问量 811

猜你喜欢

转载自blog.csdn.net/Hide111/article/details/105168322