案例一: Lambda表达式练习1
需求: 定义一个接口(Eatable),里面定义一个抽象方法: void eat();
定义一个测试类(EatableDemo),在测试类中提供两个方法
一个方法是: useEatable(Eatable e)
一个方法是主方法,在主方法中调用useEatable方法
接口
package test.test96;
// 定义一个接口(Eatable),里面定义一个抽象方法: void eat();
public interface Eatable {
void eat();
}
接口实现类
package test.test96;
public class EatableImpl implements Eatable{
@Override
public void eat() {
System.out.println("一天一苹果,医生远离我");
}
}
测试类
package test.test96;
/**
* 定义一个测试类(EatableDemo),在测试类中提供两个方法
* 一个方法是: useEatable(Eatable e)
* 一个方法是主方法,在主方法中调用useEatable方法
*/
public class EatableDemo {
public static void main(String[] args) {
// 在主方法中调用useEatable方法
Eatable e = new EatableImpl();
useEatable(e);
// 匿名内部类
useEatable(new Eatable() {
@Override
public void eat() {
System.out.println("一天一苹果,医生远离我");
}
});
// Lambda表达式
useEatable(() -> {
System.out.println("一天一苹果,医生远离我");
});
}
private static void useEatable(Eatable e){
e.eat();
}
}
案例二: Lambda表达式练习2
需求: 定义一个接口(Flyable),里面定义一个抽象方法: void fly(String s);
定义一个测试类(FlyableDemo),在测试类中提供两个方法
一个方法是: useFlyable(Flyable f)
一个方法是主方法,在主方法中调用useFlyable方法
接口
package test.test97;
// 定义一个接口(Flyable),里面定义一个抽象方法: void fly(String s);
public interface Flyable {
void fly(String s);
}
测试类
package test.test97;
/**
* 定义一个测试类