需求:
给定一个出自cook接口,内涵唯一的abstract抽象方法makeFood(); 无参无返回值
使用Lambda表达标准格式调用invokeCook方法,打印输出“吃饭啦”字样
一个Cook接口类
package Demo05;
public interface Cook {
public abstract void makeFood();
}
测试类 注意lambda的格式是两个小括号
package Demo05;
/*
需求:
给定一个出自cook接口,内涵唯一的abstract抽象方法makeFood(); 无参无返回值
使用Lambda表达标准格式调用invokeCook方法,打印输出“吃饭啦”字样
*/
public class Demo03Cook {
public static void main(String[] args) {
//调用invokeCook方法,参数是Cook接口,传递Cook接口的匿名内部类对象
invokeCook(new Cook() { //本来需要接口实现类之后才能用这里就相当于在实现类中重写了方法
@Override
public void makeFood() {
System.out.println("吃饭啦");
}
});
//使用Lambda简化匿名内部类的书写
invokeCook(()->{ //本来需要重写makeFood()不需要传参数所以空着
System.out.println("吃饭");
} );
}
//定义一个方法,参数传递Cook接口,返回发内部调用Cook接口中的方法makeFood
public static void invokeCook(Cook cook){
cook.makeFood();
}
}