當:
1、成員方法或構造方法中的形參是介面(Interface)
2、該介面為函式式介面,即抽象方法只有一個
在方法實作的時候可以采用的方式有:
1、傳統的方式實作(也適用于非函式式介面)
創建該介面的匿名內部類并重寫介面方法
//方式一
Thread lambda1 = new Thread(new Runnable() {
@Override
public void run() {
RunnableImpl r1 = new RunnableImpl();
r1.sellTick();
}
}
);
2、lambda運算式
使用lambda運算式要點即 采用()->{} 的方式,注意對lambda運算式簡化后的理解
//方式二
Thread lambda2 = new Thread(() -> {
r1.sellTick();
}
);
//方式二改寫
Thread lambda3 = new Thread(() -> r1.sellTick());
3、使用方法參考
前提是有一個已經實作的方法,且該方法滿足介面抽象方法的形參和回傳值,可以采用方法參考的方式傳入介面,極大簡化代碼
//方式三
Thread thread = new Thread(new RunnableImpl()::sellTick);
總結:無論是Lambda還是方法參考,核心就是必須滿足介面方法中的形參和回傳值,
注意:采用方法參考的時候,介面方法無回傳值,則方法參考中有無回傳值都可以實作編譯執行;

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/473403.html
標籤:Java
上一篇:【原】執行緒池使用InheritableThreadLocal出現資料臟亂分析和解決方案
下一篇:二刷SSM-Day1
