Java函數(shù)式接口可以通過Lambda表達(dá)式和方法引用來應(yīng)用。
Lambda表達(dá)式是一種簡潔的語法,可以使用它來實(shí)現(xiàn)函數(shù)式接口中的抽象方法。Lambda表達(dá)式的一般語法如下:
(參數(shù)列表) -> {方法體}
例如,假設(shè)有一個(gè)函數(shù)式接口Calculator
定義了一個(gè)抽象方法int calculate(int a, int b)
,可以使用Lambda表達(dá)式來實(shí)現(xiàn)該方法:
Calculator add = (a, b) -> a + b;
int result = add.calculate(3, 4); // 結(jié)果為7
方法引用是一種更為簡潔的語法,可以使用它來引用已有的方法來實(shí)現(xiàn)函數(shù)式接口中的抽象方法。方法引用的一般語法如下:
目標(biāo)引用::方法名
例如,假設(shè)有一個(gè)函數(shù)式接口Greeting
定義了一個(gè)抽象方法void greet(String name)
,可以使用方法引用來實(shí)現(xiàn)該方法:
Greeting greeting = System.out::println;
greeting.greet("Hello World!"); // 輸出Hello World!
除了Lambda表達(dá)式和方法引用,Java函數(shù)式接口還可以通過匿名內(nèi)部類來實(shí)現(xiàn)。使用匿名內(nèi)部類時(shí),需要?jiǎng)?chuàng)建一個(gè)實(shí)現(xiàn)了函數(shù)式接口的類,并在實(shí)現(xiàn)類中重寫抽象方法。
總之,Java函數(shù)式接口可以通過Lambda表達(dá)式、方法引用和匿名內(nèi)部類來應(yīng)用。這些方法都可以簡潔地實(shí)現(xiàn)函數(shù)式接口中的抽象方法。