当前位置: 代码迷 >> 综合 >> Java基础-Lambda表达式基础练习
  详细解决方案

Java基础-Lambda表达式基础练习

热度:58   发布时间:2024-03-10 01:45:14.0

Lambda表达式基础练习

Lambda表达式得格式:(形式参数)->{代码块}

Lambda表达式使用前提:
一个接口
接口中有且仅有一个抽象方法

练习1:定义一个接口(Eatable),里面定义一个抽象方法:void eat();定义一个测试类(EatableDemo),在测试类中提供两个方法一个方法是:useEatable(Eatable e)一个方法是主方法,在主方法中调用useEatable方法

EatableDemo.java主文件

public static void main(String[] args) {
    //在主方法中调用useEatable方法Eatable e = new Eatablelmpl();useEatable(e);//匿名内部类useEatable(new Eatable() {
    @Overridepublic void eat() {
    System.out.println("一天一苹果,医生远离我!!!");}});//Lambda表达式useEatable(()->{
    System.out.println("一天一苹果,医生远离我!!!");});}private static void useEatable(Eatable e){
    e.eat();}

Eatable.java接口文件

public interface Eatable {
    void eat();
}

Eatablelmpl.java 实现类文件

public class Eatablelmpl implements Eatable{
    @Overridepublic void eat() {
    System.out.println("一天一苹果医生远离我!!!");}
}
练习2:定义一个接口(Flyable),里面定义一个抽象方法:void fly(String s);定义一个测试类(FlyableDemo),在测试类中提供两个方法一个方法是:useFlyable(Flyable f)一个方法是主方法,在主方法中调用useFlyable方法

FlyableDemo.java 主文件

   public static void main(String[] args) {
    //在主方法中调用useFlyable方法//匿名内部类useFlyable(new Flyable() {
    @Overridepublic void Fly(String s) {
    System.out.println(s);System.out.println("飞机自驾!!!");}});System.out.println("----------->");//Lambda表达式useFlyable((s)->{
    System.out.println(s);System.out.println("飞机自驾!!!");});}private static void useFlyable(Flyable f) {
    f.Fly("风和日丽,晴空万里!!!");}

Flyable.java 接口文件

public interface Flyable {
    void Fly(String s);
}
练习3:定义一个接口(Addable),里面定义一个抽象方法:)定义一个测试类(AddableDemo),在测试类中提供两个方法一个方法是:useAddable(Addable a)一个方法是主方法,在主方法中调用useAddable方法

AddableDemo.java主文件

  public static void main(String[] args) {
    //匿名内部类useAddable(new Addable() {
    @Overridepublic int add(int x, int y) {
    return x+y;}});//Lambda表达式useAddable((int x,int y)->{
    return x+y;});}private static void useAddable(Addable a){
    int sum = a.add(10,20);System.out.println(sum);}

Addable.java接口文件

public interface Addable {
    int add(int x,int y);
}
  相关解决方案