3 回答

TA貢獻1842條經(jīng)驗 獲得超13個贊
@FunctionalInterface
static
, default
Object
@FunctionalInterface
@Override
一個功能接口正好有一個抽象方法。因為默認方法有實現(xiàn),所以它們不是抽象的。如果接口聲明了一個覆蓋java.lang.Object的公共方法的抽象方法,那也不算在接口的抽象方法計數(shù)中,因為接口的任何實現(xiàn)都將有來自java.lang.Object或其他地方的實現(xiàn)。
public interface Foo { public void doSomething();}
public interface Foo { public void doSomething(); public void doSomethingElse();}
@FunctionalInterfacepublic interface Foo { public void doSomething(); public void doSomethingElse();}
無效的@FunctionalInterface注釋;foo不是函數(shù)接口

TA貢獻1779條經(jīng)驗 獲得超6個贊
一種信息豐富的注釋類型,用于指示接口類型聲明的意圖是 功能接口由Java語言規(guī)范定義。
注意,函數(shù)接口的實例可以使用lambda表達式、方法引用或構(gòu)造函數(shù)引用創(chuàng)建。
…
除了通過聲明和實例化類來創(chuàng)建接口實例的通常過程(§15.9)之外,還可以使用方法引用表達式和lambda表達式創(chuàng)建函數(shù)接口實例(§15.13,§15.27)。
添加回答
舉報