> 文章列表 > Lambda表达式的使用

Lambda表达式的使用

Lambda表达式的使用

练习2:

定义一个接口(Flyable),里面定义一个抽象方法:void fly(String s);

定义一个测试类(FlyableDemo),在测试类中提供两个方法

        一个方法是:useFlyable(Flyable f)

        一个方法是主方法,在主方法中调用useFlyable方法

package com.aynu18;//练习2:
//
//        定义一个接口(Flyable),里面定义一个抽象方法:void fly(String s);
//
//        定义一个测试类(FlyableDemo),在测试类中提供两个方法
//            一个方法是:useFlyable(Flyable f)
//            一个方法是主方法,在主方法中调用useFlyable方法public class FlyableDemo {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("--------");//LambdauseFlyable((String s) -> {System.out.println(s);System.out.println("飞机自驾游");});}private static void useFlyable(Flyable f){f.fly("风和日丽,晴空万里");}
}
package com.aynu18;public interface Flyable {void fly(String s);
}

 风和日丽,晴空万里
飞机自驾游
--------
风和日丽,晴空万里
飞机自驾游


练习3:

定义一个接口(Addable),里面定义一个抽象方法:int add(int x,int y);

定义一个测试类(AaddableDemo),在测试类中提供两个方法

        一个方法是:useAddable(Addable a)

        一个方法是主方法,在主方法中调用useAddable方法

package com.aynu18;//练习3:
//
//        定义一个接口(Addable),里面定义一个抽象方法:int add(int x,int y);
//        定义一个测试类(AaddableDemo),在测试类中提供两个方法
//            一个方法是:useAddable(Addable a)
//            一个方法是主方法,在主方法中调用useAddable方法public class AaddableDemo {public static void main(String[] args) {//在主方法中调用useAddable方法//lambdauseAddable((int x,int y) ->{return x+y;
//            return x-y;});}private static void useAddable(Addable a){int sum = a.add(10, 20);System.out.println(sum);}
}
package com.aynu18;public interface Addable {int add(int x,int y);
}

30 


Lambda表达式的省略模式

参数的类型可以省略,但是有多个参数的情况下,不能只省略一个
如果参数有且仅有一个,那么小括号可以省略
如果代码块的语句只有一条可以省略大括号和分号,如果有return,return也要省略掉
package com.aynu18;public class LambdaDemo {public static void main(String[] args) {
//        useAddable((int x,int y)->{
//            return x+y;
//        });//        useAddable(( int x, int y)->{
//            return x+y;
//    });//参数的类型可以省略
//        useAddable(( x, y)->{
//            return x+y;
//        });//但是有多个参数的情况下,不能只省略一个
//        useAddable(( int x, y)->{
//            return x+y;
//        });//        useFlyable((String s)->{
//            System.out.println(s);
//        });//        useFlyable(( s)->{
//            System.out.println(s);
//        });//如果参数有且仅有一个,那么小括号可以省略
//        useFlyable( s->{
//            System.out.println(s);
//        });//如果代码块的语句只有一条可以省略大括号和分号useFlyable( s->System.out.println(s));//如果代码块的语句只有一条可以省略大括号和分号,如果有return,return也要省略掉useAddable(( x, y)->x+y);}private static void useFlyable(Flyable f){f.fly("风和日丽,晴空万里");}private static void useAddable(Addable a){int sum = a.add(10,20);System.out.println(sum);}
}
package com.aynu18;public interface Flyable {void fly(String s);
}
package com.aynu18;public interface Addable {int add(int x,int y);
}

风和日丽,晴空万里
30