this指代当前对象,如果需要引用的方法就是本类当中的成员方法,那么可以使用***this::成员方法***格式来优化Lambda表达式
@FunctionlInterface
public intterface Study {
// 定义一个学习抽象方法
void study();
}
// 定义一个学生类
public class Student {
// 定义一个成员方法,方法的参数传递一个函数式接口Study
public void study(Study s) {
s.study();
}
// 定义一个work方法
public void work() {
System.out.println("我学习我快乐");
}
// 定义一个成员方法快乐的方法
public void toHappy() {
// 传统的Lambda表达式
study(() -> {
// 创建对象
Student student = ne Student();
student.work();
});
// 使用this关键字优化Lambda
// study(s)
// Student student = new Student();
study(this::work);
}
public static void main(String[] args) {
new Student().toHappy();
}
}