lambda表达式
1. 首先声明一个接口
1 package cn.itcast.day_05.test_06; 2 3 public interface Cook { 4 5 void makeFood(); 6 }
2. 在主函数中写一个方法,传入的参数为上面所定义的接口
1 public static void invokeCook(Cook cook){ 2 3 cook.makeFood(); 4 }
3 三种不同的方式调用inVokeCook方法,并实现Cook接口中的方法
(1)创建接口对象,然后重写接口中方法,调用该方法,将接口对象传入该方法。
1 Cook cook = new Cook() { 2 @Override 3 public void makeFood() { 4 System.out.println("MakeFood"); 5 } 6 }; 7 8 invokeCook(cook);
(2)采用匿名内部类,直接调用invokeCook方法,在参数中进行对象创建和方法实现。
1 invokeCook(new Cook() { 2 @Override 3 public void makeFood() { 4 System.out.println("MakeFood"); 5 } 6 });
(3)采用Lambda表达式,省略参数中创建对象的过程。
1 invokeCook(()->{ 2 System.out.println("MakeFood"); 3 });