Java接口和



我不明白它是什么??

interface A{
void foo();
}
interface B{
void foo();
}

那么(A&B(的结果是什么

System.out.println((A & B) () -> {
System.out.println("1");
System.out.println("2");
});

有人能帮我吗?

A & B是一种交集类型。这种类型的对象既可以充当A,也可以充当B

这种特定的交叉点类型也恰好是一个"交叉点";"功能接口";类型,这意味着它只有一个抽象方法。这使您可以使用lambda表达式实例化此类型的对象。CCD_ 4是";"功能接口";类型,因为AB都具有完全相同类型签名的foo-方法。

这就是这个代码的含义。您正在实例化一个类型为A & B的对象,用lambda函数实现foo-方法。

(A & B) () -> {
System.out.println("1");
System.out.println("2");
}

System.out.println将使用它的toString-方法打印出这个lambda对象。请注意,它不会调用实际的foo-方法。因此,您的代码只会打印出类似的内容:Main$$Lambda$1/1642360923@1376c05c

最新更新