我知道它可以應(yīng)用于接口,但是由于具有默認(rèn)方法的接口(Java 8+ 接口)現(xiàn)在非常接近抽象類,現(xiàn)在想知道我們可以將@FunctionalInterface 與抽象類一起使用嗎?如果不是,為什么我們不能?
3 回答

慕田峪4524236
TA貢獻(xiàn)1875條經(jīng)驗 獲得超5個贊
顧名思義,它應(yīng)該用于接口。將其應(yīng)用于類結(jié)果如下:
錯誤:(10, 1) java: Unexpected @FunctionalInterface 注解 xxx 不是函數(shù)式接口
但這不是什么大問題,因為這只是帶有一種方法的接口的標(biāo)記接口。

慕哥6287543
TA貢獻(xiàn)1831條經(jīng)驗 獲得超10個贊
功能接口是為了特定目的而存在的——它只與嚴(yán)格來說只有一個抽象方法的接口一起使用。如果不是,那么編譯器會抱怨 -
Invalid '@FunctionalInterface' annotation; TestInterface is not a functional interface
并且將它與任何其他類一起使用是沒有意義的,枚舉東西
添加回答
舉報
0/150
提交
取消