函数式编程(Lambda,示例,省略规则),方法引用(静态方法的引用)
·
面对对象高级
函数式编程
Lambda


package com.itheima.lambda;
public class LambadDemo1 {
public static void main(String[] args) {
//目标:认识Lambda表达式,搞清楚其基本作用
Animal a = new Animal() {
@Override
public void cry() {
System.out.println("叫了一声");
}
};
a.cry();
//错误示范:Lambda表达式不可以简化其全部的匿名内部类,Lambda只能简化函数式接口的匿名内部类
// Animal a1 = ()->{
// System.out.println("叫了一声");
// };
// a1.cry();
//没有报错。Lambda只能简化函数式接口的匿名内部类
System.out.println("-----------------");
Swim s = ()->{
System.out.println("正在游泳");
};
}
}
abstract class Animal{
public abstract void cry();
}
//函数式接口:只有一个抽象方法的接口
@FunctionalInterface//声明函数式接口的注解
interface Swim{
void swimming();
}
Lambda小结

ps:@Funcationallnterface注解相当于声明
Lambda实战示例、省略规则

Arrays.sort(students,(01,02 -> {
return 01.getAge() - 02.getAge();
});
//规则3
Arrays.sort(students,(01,02 ->01.getAge() - 02.getAge());
方法引用
静态方法的引用


更多推荐

所有评论(0)