實現方式二
實現方式三
**演示
//方式一的執行緒類
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運算結果是布林值...