第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 8中函數(shù)接口的用途是什么?

Java 8中函數(shù)接口的用途是什么?

藍山帝景 2019-08-03 07:03:49
Java 8中函數(shù)接口的用途是什么?我遇到了一個新名詞功能接口在Java 8中。在使用時,我只能找到這個接口的一種用法。Lambda表達式.Java 8提供了一些內(nèi)置的函數(shù)接口,如果我們想定義任何函數(shù)接口,那么我們可以使用@FunctionalInterface注釋它將允許我們在接口中只聲明一個方法。例如:@FunctionalInterfaceinterface MathOperation {     int operation(int a, int b);}它在Java 8中有多有用,而不僅僅是使用Lambda表達式?問題這里和我問的不一樣。它在問為什么我們需要功能接口在使用Lambda表達式時。我的問題是:為什么要用功能接口除了直接與Lambda表達式?
查看完整描述

3 回答

?
紅顏莎娜

TA貢獻1842條經(jīng)驗 獲得超13個贊

@FunctionalInterface注釋對于代碼的編譯時間檢查非常有用。除了一種方法之外,您不能有更多的方法。staticdefault中覆蓋方法的抽象方法。Object在你的@FunctionalInterface或任何其他用作功能接口的接口。

但是,您可以在沒有此注釋的情況下使用lambda,也可以在沒有此注釋的情況下重寫方法。@Override注釋

從醫(yī)生那里

一個功能接口正好有一個抽象方法。因為默認方法有實現(xiàn),所以它們不是抽象的。如果接口聲明了一個覆蓋java.lang.Object的公共方法的抽象方法,那也不算在接口的抽象方法計數(shù)中,因為接口的任何實現(xiàn)都將有來自java.lang.Object或其他地方的實現(xiàn)。

這,這個可以使用在lambda表達式中:

public interface Foo {
  public void doSomething();}

這,這個不能使用在lambda表達式中:

public interface Foo {
  public void doSomething();
  public void doSomethingElse();}

但這會給編譯錯誤:

@FunctionalInterfacepublic interface Foo {
  public void doSomething();
  public void doSomethingElse();}

無效的@FunctionalInterface注釋;foo不是函數(shù)接口




查看完整回答
反對 回復(fù) 2019-08-05
?
哆啦的時光機

TA貢獻1779條經(jīng)驗 獲得超6個贊

這個文獻資料確實在目標之間起了很大的作用

一種信息豐富的注釋類型,用于指示接口類型聲明的意圖是功能接口由Java語言規(guī)范定義。

和用例

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

其措辭并不排除一般的其他用例。因為主要目的是表示功能接口,你的實際問題歸結(jié)為“是否有其他用例用于功能接口除了lambda表達式和方法/構(gòu)造函數(shù)引用之外?“

功能接口是Java語言規(guī)范定義的Java語言結(jié)構(gòu),只有該規(guī)范才能回答這個問題:

JLS第9.8節(jié)。功能接口:

除了通過聲明和實例化類來創(chuàng)建接口實例的通常過程(§15.9)之外,還可以使用方法引用表達式和lambda表達式創(chuàng)建函數(shù)接口實例(§15.13,§15.27)。

因此,Java語言規(guī)范沒有這樣說,該部分中提到的唯一用例是使用方法引用表達式和lambda表達式創(chuàng)建接口實例。(這包括構(gòu)造函數(shù)引用,因為它們是規(guī)范中方法引用表達式的一種形式)。

所以在一個句子中,不,在Java 8中沒有其他的用例。



查看完整回答
反對 回復(fù) 2019-08-05
  • 3 回答
  • 0 關(guān)注
  • 299 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號