日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

匿名内部类与Lambda表达式习题

發布時間:2023/12/3 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 匿名内部类与Lambda表达式习题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

匿名內部類與Lambda表達式習題

1.寫一個函數式接口
public Operation{
public int calc(int a,int b);
}
在測試類中寫一個method方法,參數為Operation和a,b
public static void method(Operation op)
int result = op.calc(a,b);
System.out.println(result);
}
在測試類中寫一個main方法,完成下面的需求
1)調用method方法,傳遞Lambda表達式,求整數3和4求的和
2)調用method方法,傳遞Lambda表達式,求整數3和4求的最大值
3)調用method方法,傳遞Lambda表達式,求整數3和4求的最小值

public class Demo2 {public static void main(String[] args) {int a = 10, b = 20;//Lambda表達式//調用method方法,傳遞Lambda表達式,求整數3和4求的和method((int a1, int b1) -> {return a + b;}, a, b);//調用method方法,傳遞Lambda表達式,求整數3和4求的最大值method((a1, b1) -> Math.max(a1, b1), a, b);//調用method方法,傳遞Lambda表達式,求整數3和4求的最小值method(Math::min, a, b);//直接使用Math類調用min靜態方法}public static void method(Operation operation, int a, int b) {int result = operation.calc(a, b);System.out.println(result);} }@FunctionalInterface interface Operation {int calc(int a, int b); }打印結果 ------------------------------------------------------------------ 30 20 10

2寫一個Usb接口,要求有通電、加載驅動程序、運行三個方法
定義一個UseMouse鼠標類,實現Usb接口,復寫三個方法
定義一個UsbKeyBoard鍵盤類,實現Usb接口,復寫三個方法
寫一個Computer電腦類,定義一個useUsb的方法,要求既能接收鼠標也能接收加鍵盤
把Usb作為方法的參數即可
寫一個測試類,創建電腦對象,調用useUsb方法
【要求:使用三種方式實現】

public class Demo {public static void main(String[] args) {//創建電腦對象Computer com = new Computer();//創建鼠標對象//創建鼠標實現類直接調用接口UseMouse useMouse = new UseMouse();com.useUsb(useMouse);System.out.println("---------------");//使用電腦對象調用統一方法(因為其不是靜態方法)//參數使用的是創建接口的實現對象,重寫方法為匿名內部類com.useUsb(new Usb() {@Overridepublic void power() {System.out.println("u盤通電");}@Overridepublic void loadDriver() {System.out.println("u盤加載驅動");}@Overridepublic void run() {System.out.println("u盤運行");}});System.out.println("---------------");//使用多態用接口引用接收 接口實現類對象//參數使用的是創建接口的實現對象,重寫方法為匿名內部類Usb u =new Usb() {@Overridepublic void power() {System.out.println("鍵盤通電");}@Overridepublic void loadDriver() {System.out.println("鍵盤加載驅動");}@Overridepublic void run() {System.out.println("鍵盤運行");}};//使用電腦類對象調用方法,將接口引用變量傳入com.useUsb(u);} }//接口名,使用該接口則需重寫 interface Usb{void power();void loadDriver();void run(); }//電腦類,統一使用接口的類中的方法(使用Usb規范) class Computer{public void useUsb(Usb u){u.power();u.loadDriver();u.run();} }//鼠標接口實現類 public class UseMouse implements Usb {@Overridepublic void power() {System.out.println("鼠標通電");}@Overridepublic void loadDriver() {System.out.println("鼠標加載驅動");}@Overridepublic void run() {System.out.println("鼠標運行");} }打印結果: 鼠標通電 鼠標加載驅動 鼠標運行 --------------- u盤通電 u盤加載驅動 u盤運行 --------------- 鍵盤通電 鍵盤加載驅動 鍵盤運行 -----------------------------------------

總結

以上是生活随笔為你收集整理的匿名内部类与Lambda表达式习题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。