Java接口&
我不明白这是什么
interface A{
void foo();
}
interface B{
void foo();
}
那么(A&B)的结果是什么
System.out.println((A & B) () -> {
System.out.println("1");
System.out.println("2");
});
有人能帮我吗
你可以在下面搜索框中键入要查询的问题!
我不明白这是什么
interface A{
void foo();
}
interface B{
void foo();
}
那么(A&B)的结果是什么
System.out.println((A & B) () -> {
System.out.println("1");
System.out.println("2");
});
有人能帮我吗
# 1 楼答案
A & B
是一种交叉点类型。这种类型的对象既可以作为A
对象,也可以作为B
对象这个特殊的交叉点类型碰巧也是“功能接口”类型,这意味着它只有一个抽象方法。这允许您使用lambda表达式实例化这种类型的对象
A & B
是一种“函数接口”类型,因为A
和B
都有具有完全相同类型签名的foo
-方法这就是这个代码的意思。您正在实例化
A & B
类型的对象,并使用lambda函数实现foo
-方法System.out.println
将使用它的toString
-方法打印出这个lambda对象。注意,它不会调用实际的foo
-method。因此,您的代码将打印出类似的内容:Main$$Lambda$1/1642360923@1376c05c