小白之路由淺入深之 day22

2021-10-03 16:57:10 字數 3779 閱讀 9769

實現方式二

實現方式三

**演示

//方式一的執行緒類

public

class

myrunnable

implements

runnable

}public

class

lambdademo

// }).start();

//方式三

newthread((

)->).

start()

;}}

函式式程式設計思想概述

函式式思想則盡量忽略物件導向的複雜語法:「強調做什麼,而不是以什麼形式去做」

而我們要學習的lambda表示式就是函式式思想的體現

組成lambda表示式的三要素:

練習描述

​ 無參無返回值抽象方法的練習

操作步驟

示例**

//介面

public

inte***ce

eatable

//實現類

public

class

eatableimpl

implements

eatable

}//測試類

public

class

eatabledemo})

;//lambda表示式

useeatable((

)->);

}private

static

void

useeatable

(eatable e)

}

示例**

public

inte***ce

flyable

public

class

flyabledemo})

; system.out.

println

("--------");

//lambda

useflyable

((string s)

->);

}private

static

void

useflyable

(flyable f)

}

示例**

public

inte***ce

addable

public

class

addabledemo);

}private

static

void

useaddable

(addable a)

}

**演示

public

inte***ce

addable

public

inte***ce

flyable

public

class

lambdademo

);//引數的型別可以省略

useaddable

((x, y)

->);

// useflyable((string s) -> );

//如果引數有且僅有乙個,那麼小括號可以省略

// useflyable(s -> );

//如果**塊的語句只有一條,可以省略大括號和分號

useflyable

(s -

> system.out.

println

(s))

;//如果**塊的語句只有一條,可以省略大括號和分號,如果有return,return也要省略掉

useaddable

((x, y)

-> x + y);}

private

static

void

useflyable

(flyable f)

private

static

void

useaddable

(addable a)

}

使用限制不同

實現原理不同

注意事項

​ 引用類方法,其實就是引用類的靜態方法

**演示

public

inte***ce

converter

public

class

converterdemo

private

static

void

useconverter

(converter c)

}

使用說明

lambda表示式被類方法替代的時候,它的形式引數全部傳遞給靜態方法作為引數

​ 引用物件的例項方法,其實就引用類中的成員方法

**演示

public

class

printstring

}public

inte***ce

printer

public

class

printerdemo

private

static

void

useprinter

(printer p)

}

使用說明

lambda表示式被物件的例項方法替代的時候,它的形式引數全部傳遞給該方法作為引數

​ 引用類的例項方法,其實就是引用類中的成員方法

**演示

public

inte***ce

mystring

public

class

mystringdemo

private

static

void

usemystring

(mystring my)

}

使用說明

​ lambda表示式被類的例項方法替代的時候

​ 第乙個引數作為呼叫者

​ 後面的引數全部傳遞給該方法作為引數

​ 引用構造器,其實就是引用構造方法

**演示

public

class

student

public

student

(string name,

int age)

public string getname()

public

void

setname

(string name)

public

intgetage()

public

void

setage

(int age)

}public

inte***ce

studentbuilder

public

class

studentdemo

private

static

void

usestudentbuilder

(studentbuilder sb)

}

使用說明

lambda表示式被構造器替代的時候,它的形式引數全部傳遞給構造器作為引數

Python學習之路Day2

message world print message 輸出結果為 world message hello world 輸出結果為 hello world print message 用引號 單 雙引號 括起來的都是字串 str1 this is a string str2 this is also...

python學習之路day2 迴圈

猜三次年齡,猜錯了三次程式退出 coding utf 8 age 56 count 0 while count 3 guess age int input 請輸入年齡 if guess age age print 你猜對了 break elif guess age age print 猜大了 els...

Python程式設計之路 day2

python開發ide integrated development environment pycharm eclipse 1.python運算子 運算結果是值 1.算術運算 a 10 10 print a 1002.賦值運算 a 11 a a 1 或 a 1 print a 12運算結果是布林值...