函式式介面的理解

2021-10-08 23:49:49 字數 876 閱讀 5770

1,如果要理解函式式程式設計,我們首先要理解什麼是匿名內部類,函式式變成可以簡單的理解為匿名內部類的進一步的簡化,例如下面例子:stream類iterate方法

第一種寫法:

private

static

void

steamtest()

}).foreach

(system.out:

:println)

;}

第二種寫法:

private

static

void

steamtest()

後面的寫法簡化了實現介面unaryoperator物件的方式,以lambda表示式作為入參,其實「t -> t + 1」就是實現介面unaryoperator的乙個物件重寫的方法。

2,為什麼我們只傳入了lambda表示式程式卻自動知道介面該執行哪個方法呢?這就需要我們理解什麼是函式式介面。

函式式介面:

(1)只包含乙個抽象方法;

(2)可以包含非抽象方法;

(3)最好用註解「@functionalinte***ce」保證抽象方法的唯一性。

如下面的函式式介面:

@functionalinte***ce

public

inte***ce

demotest

static demotest

getinstance2()

;}}public

static

void

main

(string[

] args)

函式式介面的使用

package com.learn.demo01.functionalinte ce 函式式介面的使用 一般可以作為方法的引數和返回值型別 public class demo public static void main string args 呼叫show方法,方法的引數是乙個函式式介面,所以我...

演示函式式介面的使用

description author yrm create 2020 08 16 21 44 演示函式式介面的使用 public class demo1 system.out.println system.out.println 函式型呼叫 handleint new function 10 sys...

介面的理解

例如乙個entitymodel類擁有很多屬性資訊 name,age,height,weight。現在如果想使用其中的height和weight,可以定義乙個介面ibodyinfo package com.wjy.understandinte ce public inte ce ibodyinfo 然...