1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| LambdaDemo:
package com.fluffysponge; /* * Lambda表示式的格式:(形式参数)->{代码块} * 练习1(抽象方法无参无返回值): * 1.定义一个接口(Eatable),里面定义一个抽象方法:void eat() * 2.定义一个测试类(LambdaDemo),在测试类中提供两个方法 * 一个方法是:useEatable(Eatable e) * 一个方法是主方法,在主方法中调用useEatable方法 * * 练习2(抽象方法带参无返回值): * 1.定义一个接口(Flyable),里面定义一个抽象方法:void fly(String s) * 2.定义一个测试类(FlyableDemo),在测试类中提供两个方法 * 一个方法是:useFlyable(Flyable f) * 一个方法是主方法,在主方法中调用useFlyable方法 * * 练习3(抽象方法带参带返回值): * 1.定义一个接口(Addable),里面定义一个抽象方法:int add(int x,int y); * 2.定义一个测试类(AddableDemo),在测试类中提供两个方法 * 一个方法是:useAddable(Addable a) * 一个方法是主方法,在主方法中调用useAddable方法 * * */
public class LambdaDemo { // //练习1: // 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(); // }
// //练习2: // public static void main(String[] args) { // //在主方法中调用useFlyable方法 // //匿名内部类 // useFlyable(new Flyable() { // @Override // public void fly(String s) { // System.out.println(s); // System.out.println("飞机自驾游"); // } // }); // System.out.println("--------"); // // //Lambda表达式 // useFlyable((String s) -> { // System.out.println(s); // System.out.println("飞机自驾游"); // }); // } // // private static void useFlyable(Flyable f){ // f.fly("风和日丽,晴空万里"); // }
//练习3 public static void main(String[] args) { //在主方法中调用useAddable方法 useAddable((int x, int y) -> { return x + y; }); }
private static void useAddable(Addable a) { int sum = a.add(10, 20); System.out.println(sum); } }
|