鴻蒙OS FunctionalInterface

2022-06-06 16:17 更新

FunctionalInterface

@Documented
@Retention(RUNTIME)
@Target(TYPE)
public @interface FunctionalInterface

一種信息性注釋類(lèi)型,用于指示接口類(lèi)型聲明旨在成為 Java 語(yǔ)言規(guī)范定義的功能接口。從概念上講,函數(shù)式接口只有一個(gè)抽象方法。由于默認(rèn)方法有一個(gè)實(shí)現(xiàn),它們不是抽象的。如果一個(gè)接口聲明了一個(gè)覆蓋 java.lang.Object 的公共方法之一的抽象方法,這也不會(huì)計(jì)入接口的抽象方法計(jì)數(shù),因?yàn)樵摻涌诘娜魏螌?shí)現(xiàn)都將具有來(lái)自 java.lang.Object 或其他地方的實(shí)現(xiàn)。

請(qǐng)注意,函數(shù)式接口的實(shí)例可以使用 lambda 表達(dá)式、方法引用或構(gòu)造函數(shù)引用來(lái)創(chuàng)建。

如果使用此注解類(lèi)型對(duì)類(lèi)型進(jìn)行注解,則編譯器需要生成錯(cuò)誤消息,除非:

  • 該類(lèi)型是接口類(lèi)型,而不是注釋類(lèi)型、枚舉或類(lèi)。
  • 帶注釋的類(lèi)型滿(mǎn)足功能接口的要求。

但是,無(wú)論接口聲明中是否存在 FunctionalInterface 注釋?zhuān)幾g器都會(huì)將滿(mǎn)足功能接口定義的任何接口視為功能接口。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)