[英]Java interface &
看不懂是什么??
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
。
這種特殊的交集類型也恰好是“功能接口”類型,這意味着它只有 1 個抽象方法。 這使您可以使用 lambda 表達式實例化此類型的對象。 A & B
是“函數式接口”類型,因為A
和B
都具有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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.