您的位置:首页 > 其它

Lambda表达式

2020-07-14 06:31 106 查看

要求

  1. 有一个接口,其中只有一个抽象方法
interface A {
void run();
}
  1. 有一个方法,其中参数是上述类型接口(可以超过一个),其中需要调用接口中的方法才能进行运算
static void run1(A a) {
a.run();
}

static void run2(B b) {
}

static void run3(A a, B b) {
a.run();
b.eat();
}
  1. 在调用方法,用()代指方法, -> 指运算,之后为代码块,可用{}包裹
d.run1(() -> System.out.println("runA"));
d.run1(() -> {
System.out.println("{runA...}");
});

完整代码

package day15;

public class Demo1 {

public static void main(String[] args) {
D d = new D();
d.run1(() -> System.out.println("runA"));
d.run1(() -> {
System.out.println("{runA...}");
});
System.out.println("----------------------");
d.run2(() -> System.out.println("runB"));
System.out.println("----------------------");
d.run3(() -> System.out.println("runA"),() -> System.out.println("eatB"));
}
}

class D {

static void run1(A a) {
a.run();
}

static void run2(B b) {
}

static void run3(A a, B b) {
a.run();
b.eat();
}
}

interface A {
void run();
}

interface B {
void eat();
}

结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: