第8章課程代碼java新特性_第1頁
第8章課程代碼java新特性_第2頁
第8章課程代碼java新特性_第3頁
第8章課程代碼java新特性_第4頁
第8章課程代碼java新特性_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第八章:Java 新特性8.1可變參數(shù)范例 8-1:最初的解決方案。范例 8-2:使用可變參數(shù)定義方法。package com.yootk.demo;public class TestDemo public sic void main(String args) / 可變參數(shù)支持接收數(shù)組System.out.prln(add(new1,2,3);/ 傳遞3個整型數(shù)據(jù)System.out.prln(add(new10,20);/ 傳遞2個整型數(shù)據(jù)/ 或者使用“,”區(qū)分不同的參數(shù),接收的時候還是數(shù)組System.out.prln(add(1,2,3);/ 傳遞3個參數(shù)System.out.prln(

2、add(10,20);/ 傳遞2個參數(shù)System.out.prln(add();/ 不傳遞參數(shù)/*實現(xiàn)任意多個整型數(shù)據(jù)的相加操作param data 由于要接收多個整型數(shù)據(jù),所以使用數(shù)組完成接收return 多個整型數(shù)據(jù)的累加結(jié)果*/public sicadd(. data) package com.yootk.demo;public class TestDemo public sic void main(String args) System.out.prln(add(new1,2,3);/ 傳遞3個整型數(shù)據(jù)System.out.prln(add(new10,20); / 傳遞2個整型數(shù)據(jù)

3、/*實現(xiàn)任意多個整型數(shù)據(jù)的相加操作param data 由于要接收多個整型數(shù)據(jù),所以使用數(shù)組完成接收return 多個整型數(shù)據(jù)的累加結(jié)果*/public sicadd( data) sum = 0 ;for (x = 0 ; x data.length ; x +) sum += datax ;return sum ;8.2foreach 循環(huán)范例 8-3:數(shù)組輸出。范例 8-4:利用 foreach 循環(huán)實現(xiàn)輸出。8.3靜態(tài)導(dǎo)入范例 8-5:傳統(tǒng)的做法。package com.yootk.util;public class MyMath public sicadd(x,y) return x

4、 + y ;public sicdiv(x,y) return x / y ;package com.yootk.demo;public class TestDemo public sic void main(String args) data = new 1, 2, 3, 4, 5 ;/ 定義數(shù)組for (x : data) / 循環(huán)次數(shù)由數(shù)組長度決定/ 每一次循環(huán)實際上都表示數(shù)組的角標(biāo)增長,會取得每一個數(shù)組的內(nèi)容,并且將其設(shè)置給x System.out.prln(x + 、);/ x就是每一個數(shù)組元素的內(nèi)容package com.yootk.demo;public class TestDe

5、mo public sic void main(String args) data = new 1, 2, 3, 4, 5 ;/ 定義數(shù)組for (x = 0; x data.length; x+) / 循環(huán)輸出數(shù)組System.out.pr(datax + 、);sum = 0 ;for (x = 0 ; x data.length ; x +) sum += datax ;return sum ;范例 8-6:基本使用形式。范例 8-7:靜態(tài)導(dǎo)入。8.4泛型范例 8-8:定義 Po類,使用 Object 作為屬性類型。class Po/ 定義坐標(biāo)private Object x ;/ 可以

6、保存任意數(shù)據(jù)private Object y ;/ 可以保存任意數(shù)據(jù)public void setX(Object x) this.x = x;public void setY(Object y) this.y = y;public Object getX() return x;public Object getY() return y;package com.yootk.demo;/ 將MyMath類中的全部sic方法導(dǎo)入,這些方法就好比在主類中定義的sic方法一樣 import sic com.yootk.util.MyMath.*;public class TestDemo public

7、 sic void main(String args) / 直接使用方法名稱System.out.prln(加法操作: + add(10, 20); System.out.prln(除法操作: + div(10, 2);package com.yootk.demo; import com.yootk.util.MyMath; public class TestDemo public sic void main(String args) System.out.prln(加法操作: + MyMadd(10, 20); System.out.prln(除法操作: + MyMath.div(10, 2

8、);范例 8-9:在 Po類里面保存整型數(shù)據(jù)。范例 8-10:在 Po類里面保存浮點型數(shù)據(jù)。范例 8-11:在 Po類里面保存使用字符串?dāng)?shù)據(jù)。public class TestDemo public sic void main(String args) / 第一步:根據(jù)需要設(shè)置數(shù)據(jù),假設(shè)此時的作用是傳遞坐標(biāo)Pop = new Po() ;/ 實例化Po類數(shù)據(jù)p.setX(東經(jīng)100度);/ 設(shè)置坐標(biāo)數(shù)據(jù)p.setY(北緯20度);/ 設(shè)置坐標(biāo)數(shù)據(jù)/ 第二步:根據(jù)設(shè)置好的坐標(biāo)取出數(shù)據(jù)進行操作String x = (String) p.getX();/ 取出坐標(biāo)數(shù)據(jù)String y = (Stri

9、ng) p.getY();/ 取出坐標(biāo)數(shù)據(jù)System.out.prln(x坐標(biāo): + x + ,y坐標(biāo): + y);public class TestDemo public sic void main(String args) / 第一步:根據(jù)需要設(shè)置數(shù)據(jù),假設(shè)此時的作用是傳遞坐標(biāo)Pop = new Po() ;/ 實例化Po類數(shù)據(jù)p.setX(10.2);/ 設(shè)置坐標(biāo)數(shù)據(jù)p.setY(20.3);/ 設(shè)置坐標(biāo)數(shù)據(jù)/ 第二步:根據(jù)設(shè)置好的坐標(biāo)取出數(shù)據(jù)進行操作double x = (Double) p.getX();/ 取出坐標(biāo)數(shù)據(jù)double y = (Double) p.getY();/

10、取出坐標(biāo)數(shù)據(jù)System.out.prln(x坐標(biāo): + x + ,y坐標(biāo): + y);public class TestDemo public sic void main(String args) / 第一步:根據(jù)需要設(shè)置數(shù)據(jù),假設(shè)此時的作用是傳遞坐標(biāo)Pop = new Po() ;/ 實例化Po類數(shù)據(jù)p.setX(10);/ 設(shè)置坐標(biāo)數(shù)據(jù)p.setY(20);/ 設(shè)置坐標(biāo)數(shù)據(jù)/ 第二步:根據(jù)設(shè)置好的坐標(biāo)取出數(shù)據(jù)進行操作x = (eger) p.getX();/ 取出坐標(biāo)數(shù)據(jù)y = (eger) p.getY();/ 取出坐標(biāo)數(shù)據(jù)System.out.prln(x坐標(biāo): + x + ,y坐標(biāo)

11、: + y);范例 8-12:錯誤的程序。范例 8-13:使用泛型修改 Po類。范例 8-14:定義多個泛型。范例 8-14:使用 Po類將泛型類型設(shè)置為 String。public class TestDemo class Po public R fun(P p) return null ;package com.yootk.demo;/ 此時設(shè)置的T在Po類定義上只表示一個標(biāo)記,在使用時需要為其設(shè)置具體的類型class Po / 定義坐標(biāo),Type = 簡寫T,是一個類型標(biāo)記private T x ;/ 此屬性的類型不知道,由Po類使用時動態(tài)決定private T y ;/ 此屬性的類型不

12、知道,由Po類使用時動態(tài)決定public void setX(T x) this.x = x;public void setY(T y) this.y = y;public T getX() return x;public T getY() return y;public class TestDemo public sic void main(String args) / 第一步:根據(jù)需要設(shè)置數(shù)據(jù),假設(shè)此時的作用是傳遞坐標(biāo)Pop = new Po() ;/ 實例化Po類數(shù)據(jù)p.setX(東經(jīng)100度);/ 設(shè)置坐標(biāo)數(shù)據(jù)p.setY(10) ;/ 設(shè)置坐標(biāo)數(shù)據(jù),數(shù)據(jù)錯誤/ 第二步:根據(jù)設(shè)置好的坐

13、標(biāo)取出數(shù)據(jù)進行操作String x = (String) p.getX();/ 取出坐標(biāo)數(shù)據(jù)String y = (String) p.getY();/ 取出坐標(biāo)數(shù)據(jù)System.out.prln(x坐標(biāo): + x + ,y坐標(biāo): + y);范例 8-15:將泛型類型設(shè)置為整型(eger)。范例 8-16:不設(shè)置泛型類型。范例 8-17:定義一個支持泛型類型的類。package com.yootk.demo;class Message / 類上使用泛型private T msg;public void setMsg(T msg) public class TestDemo public sic

14、 void main(String args) / 第一步:根據(jù)需要設(shè)置數(shù)據(jù),假設(shè)此時的作用是傳遞坐標(biāo) Pop = new Po() ;/ 將使用Object類型描述泛型 p.setX(10);/ 設(shè)置坐標(biāo)數(shù)據(jù),向上為Object p.setY(20) ;/ 設(shè)置坐標(biāo)數(shù)據(jù),向上為Object/ 第二步:根據(jù)設(shè)置好的坐標(biāo)取出數(shù)據(jù)進行操作eger x = (eger) p.getX(); eger y = ( eger) p.getY();System.out.prln(x坐標(biāo): + x + ,y坐標(biāo): + y);public class TestDemo public sic void main

15、(String args) / 第一步:根據(jù)需要設(shè)置數(shù)據(jù),假設(shè)此時的作用是傳遞坐標(biāo)Po p = new Po() ;/ 實例化Po類數(shù)據(jù),設(shè)置泛型類型為String p.setX(10);/ 設(shè)置坐標(biāo)數(shù)據(jù)p.setY(20) ;/ 設(shè)置坐標(biāo)數(shù)據(jù)/ 第二步:根據(jù)設(shè)置好的坐標(biāo)取出數(shù)據(jù)進行操作x = p.getX();/ 取出坐標(biāo)數(shù)據(jù),不再需要強制轉(zhuǎn)換y = p.getY();/ 取出坐標(biāo)數(shù)據(jù),不再需要強制轉(zhuǎn)換System.out.prln(x坐標(biāo): + x + ,y坐標(biāo): + y);public sic void main(String args) / 第一步:根據(jù)需要設(shè)置數(shù)據(jù),假設(shè)此時的作用是傳

16、遞坐標(biāo)Po p = new Po () ;/ 實例化Po類數(shù)據(jù),設(shè)置泛型類型為String p.setX(東經(jīng)100度);/ 設(shè)置坐標(biāo)數(shù)據(jù)p.setY(北緯20度) ;/ 設(shè)置坐標(biāo)數(shù)據(jù)/ 第二步:根據(jù)設(shè)置好的坐標(biāo)取出數(shù)據(jù)進行操作String x = p.getX();/ 取出坐標(biāo)數(shù)據(jù),不再需要強制轉(zhuǎn)換String y = p.getY(); / 取出坐標(biāo)數(shù)據(jù),不再需要強制轉(zhuǎn)換System.out.prln(x坐標(biāo): + x + ,y坐標(biāo): + y);范例 8-18:使用泛型操作。范例 8-19:錯誤的使用。范例 8-20:使用通配符“?”解決參數(shù)傳遞問題。public class TestDe

17、mo public sic void main(String args) Message m1 = new Message(); Message m2 = new Message();m1.setMsg(100);/ 設(shè)置屬性內(nèi)容m2.setMsg();/ 設(shè)置屬性內(nèi)容fun(m1);/傳遞fun(m2);/傳遞public class TestDemo public sic void main(String args) Message m = new Message(); m.setMsg(30);/ 設(shè)置內(nèi)容fun(m);/ 程序錯誤,因為參數(shù)的泛型類型是Stringpublic sic

18、void fun(Message temp) System.out.prln(temp.getMsg();package com.yootk.demo;public class TestDemo public sic void main(String args) Message m = new Message(); m.setMsg();/ 設(shè)置內(nèi)容fun(m);/傳遞/*接收Message類對象,并且調(diào)用getter方法輸出類中的msg屬性內(nèi)容param temp 接收Message類對象的傳遞,此處設(shè)置的泛型類型為String*/public sic void fun(Message te

19、mp) System.out.prln(temp.getMsg();this.msg = msg;public T getMsg() return msg;范例 8-21:定義方法參數(shù)時不設(shè)置泛型類型。范例 8-22:設(shè)置泛型的上限。package com.yootk.demo;class Message / 設(shè)置泛型上限,只能夠是Number或Number子類private T msg;public void setMsg(T msg) this.msg = msg;public T getMsg() return msg;public class TestDemo public sic v

20、oid main(String args) Message m1 = new Message();/eger是Number子類 m1.setMsg(100);fun(m1);/傳遞public sic void fun(Message temp) / 定義泛型上限System.out.prln(temp.getMsg();public class TestDemo public sic void main(String args) Message m1 = new Message(); Message m2 = new Message(); m1.setMsg(100);m2.setMsg()

21、;fun(m1);fun(m2);public sic void fun(Message temp) / 隨意修改屬性內(nèi)容,邏輯錯誤temp.setMsg(魔樂科技學(xué)院:);System.out.prln(temp.getMsg();public sic void fun(Message temp) / 不能設(shè)置,但是可以取出System.out.prln(temp.getMsg();范例 8-23:設(shè)置泛型的下限。范例 8-24:定義泛型接口。范例 8-25:泛型方法定義。package com.yootk.demo;public class TestDemo public sic void

22、 main(String args) String str = fun();/ 泛型類型為String System.out.prln(str.length();/ 計算長度/*此方法為泛型方法,T的類型由傳入的參數(shù)類型決定必須在方法返回值類型前明確定義泛型標(biāo)記param t 參數(shù)類型,同時也決定了返回值類型package com.yootk.demo;/*定義泛型接口,由于類與接口命名標(biāo)準(zhǔn)相同,為了區(qū)分出類與接口,在接口前加上字母“I”,例如:如果定義抽象類,則可以面加上Abstract,例如:AbstractMessageauthor YOOTKparam pr ()方法使用的泛型類型*/

23、erface / 定義泛型接口public void pr (T t);package com.yootk.demo;class Message / 定義泛型private T msg;public void setMsg(T msg) this.msg = msg;public T getMsg() return msg;public class TestDemo public sic void main(String args) Message m1 = new Message();m1.setMsg(課程請:);/ 設(shè)置屬性內(nèi)容fun(m1);/傳遞public sic void fun

24、(Message temp) / 定義泛型下限System.out.prln(temp.getMsg();8.5枚舉范例 8-26:定義顏色的枚舉類。范例 8-27:利用多例設(shè)計模式實現(xiàn)類似枚舉的操作。package com.yootk.demo;class Color private String title;private sic final Color RED = new Color(紅色); private sic final ColREEN = new Color(綠色); private sic final Color BLUE = new Color(藍色); private C

25、olor(String title) this.title = title;public sic ColetInstance(ch) switch (ch) case 1:return RED;case 2:return GREEN;case 3:return BLUE; default:return null;public String toString() return this.title;package com.yootk.demo;enum Color / 定義枚舉類RED, GREEN, BLUE;/ 表示此處為實例化對象public class TestDemo public s

26、ic void main(String args) Color red = Color.RED;/ 直接取得枚舉對象System.out.prln(red);* return 直接返回設(shè)置進來的內(nèi)容*/public sic T fun(T t) return t;范例 8-28:使用 Enum 定義的方法。范例 8-29:返回枚舉中的全部內(nèi)容。范例 8-30:擴充枚舉功能。package com.yootk.demo;enum Color RED(紅色), GREEN(綠色), BLUE(藍色);/ 定義枚舉對象,必須寫在首行private String title;/ 屬性private C

27、olor(String title) / 構(gòu)造方法,不能使用publicthis.title = title;public String toString() / 覆寫toString()方法return this.title;package com.yootk.demo;enum Color / 定義枚舉類RED, GREEN, BLUE;/ 表示此處為實例化對象public class TestDemo public sic void main(String args) for(Color c : Color.values() System.out.prln(c.ordinal() + -

28、 + ();package com.yootk.demo;enum Color / 定義枚舉類RED, GREEN, BLUE;/ 表示此處為實例化對象public class TestDemo public sic void main(String args) Color red = Color.RED;/ 直接取得枚舉對象 System.out.prln(枚舉對象序號: + red.ordinal(); System.out.prln(枚舉對象名稱: + ();public class TestDemo public s ic void main(String args) Color re

29、d = Col etInstance(1); System.out.pr ln(red);范例 8-31:枚舉實現(xiàn)接口。范例 8-32:另外一種接口的實現(xiàn)。package com.yootk.demo;erfacepublic String getTitle() ;enum Color implements/ 實現(xiàn)接口RED(紅色) / 適應(yīng)類的方式實現(xiàn)接口public String getTitle() return this + - red;,GREEN(綠色) / 適應(yīng)類的方式實現(xiàn)接口public String getTitle() return this + - green;packa

30、ge com.yootk.demo;erfacepublic String getTitle() ;enum Color implements/ 實現(xiàn)接口RED(紅色), GREEN(綠色), BLUE(藍色);/ 定義枚舉對象,都是接口實例private String title;/ 屬性private Color(String title) / 構(gòu)造方法,不能使用publicthis.title = title;public String getTitle() / 覆寫方法return this.title ;public String toString() / 覆寫toString()方

31、法return this.title;public class TestDemo public sic void main(String args) msg = Color.RED ;/ 實例化接口對象System.out.prln(msg.getTitle();public class TestDemo public sic void main(String args) for (Color c : Color.values() / 取得全部枚舉對象System.out.pr(c + 、);/ 直接輸出對象調(diào)用toString()范例 8-33:定義抽象方法并覆寫。package com.y

32、ootk.demo;enum Color RED(紅色) / 適應(yīng)類的方式實現(xiàn)接口public String getTitle() return this + - red;,GREEN(綠色) / 適應(yīng)類的方式實現(xiàn)接口public String getTitle() return this + - green;,BLUE(藍色) / 適應(yīng)類的方式實現(xiàn)接口public String getTitle() return this + - blue;private String title;/ 屬性private Color(String title) / 構(gòu)造方法,不能使用publicthis.t

33、itle = title;public String toString() / 覆寫toString()方法return this.title;public abstract String getTitle() ;/ 定義抽象方法public class TestDemo ,BLUE(藍色) / 適應(yīng)類的方式實現(xiàn)接口public String getTitle() return this + - blue;private String title;/ 屬性private Color(String title) / 構(gòu)造方法,不能使用publicthis.title = title;public

34、 String toString() / 覆寫toString()方法return this.title;public class TestDemo public sic void main(String args) msg = Color.RED ;/ 實例化接口對象System.out.prln(msg.getTitle();范例 8-34:在 switch 語句上使用枚舉。范例 8-35:在類設(shè)計結(jié)構(gòu)中使用枚舉。package com.yootk.demo;enum Sex MALE(男),FEMALE(女) ;private String title ;private Sex(Stri

35、ng title) this.title = title ;public String toString() return this.title ;class Member private String name ; privateage ;private Sex sex ;/ 定義屬性public Member(String name,age,Sex sex) = name ; this.age = age ; this.sex = sex ;package com.yootk.demo;enum Color RED, GREEN, BLUE;public class TestDemo pu

36、blic sic void main(String args) Color c = Color.RED;switch (c) / 支持枚舉判斷case RED:/ 判斷枚舉內(nèi)容System.out.prln(這是紅色!);break;case GREEN:/ 判斷枚舉內(nèi)容System.out.prln(這是綠色!);break;case BLUE:/ 判斷枚舉內(nèi)容System.out.prln(這是藍色!);break;public sic void main(String args) System.out.prln(Color.RED.getTitle();8.6Annoion范例 8-36

37、:準(zhǔn)確覆寫。范例 8-37:錯誤的程序。范例 8-38:過期操作。TTUOUT 簡介VGIQGMK IUS _UUZQ JKSU!IRGYY (UUQ a&*KVXKIGZKJ 此方法為過期操作VHROI UOJ LT a 使用會有警告,但是不會出錯ccVHROI IRGYY :KYZ*KSU aVHROI YOI UOJ SGOT 9ZXOTMAC GXMY a (UUQ HUUQ # TK (UUQ !HUUQ LT ! 此方法不建議使用ccIRGYY (UUQ aVHROI 9ZXOTM ZUYZXOTM a 原本打算覆寫ZU9ZXOTM XKZXT 這是一本書! !ccIRGYY (U

38、UQ a&5KXXOJK 只要正確進行了覆寫,就不會出現(xiàn)編譯的語法錯誤VHROI 9ZXOTM ZU9ZXOTM a 原本打算覆寫ZU9ZXOTM XKZXT 名師講壇 5XGIRK開發(fā)實戰(zhàn)經(jīng)典 !ccVHROI 9ZXOTM ZU9ZXOTM aXKZXT: ZNOY TGSK ,: ZNOY GMK ,: ZNOY YK !ccVHROI IRGYY :KYZ*KSU aVHROI YOI UOJ SGOT 9ZXOTMAC GXMY a9_YZKS UZ VXRT TK 3KSHKX 9K 32+ !cc范例 8-39:壓制多個警告信息。8.7接口定義加強范例 8-40:定義普通方法。p

39、ackage com.yootk.demo;erface/ 定義接口public void pr ();/ 這是一個接口里面原本定義的方法default void fun() / 在接口里面定義了一個普通的方法System.out.prln(課程請:);class MessageImpl implements Overridepublic void pr () / 覆寫pr()方法 System.out.prln(魔樂科技學(xué)院:);public class TestDemo public sic void main(String args) msg = new MessageImpl();ms

40、g.pr();/ 子類已覆寫接口方法msg.fun();/ 此方法是在接口里面直接定義的package com.yootk.demo;class Book private T title;public void setTitle(T title) this.title = title;public T getTitle() return title;public class TestDemo SuppressWarnings( rawtypes, unchecked )public sic void main(String args) Book book = new Book();/ 沒有泛型

41、,產(chǎn)生“rawtypes”警告信息book.setTitle(O);/ 出現(xiàn)警告信息,產(chǎn)生“unchecked”警告信息范例 8-41:定義 sic 方法。8.8Lamda 表達式范例 8-42:Lamda 表達式入門操作。范例 8-43:使用類操作。VGIQGMK IUS _UUZQ JKSU!KXLGIKaVHROI UOJ VX !cVHROI IRGYY :KYZ*KSU aVHROI YOI UOJ SGOT 9ZXOTMAC GXMY aLT TK a 等價于2GSJG表達式定義&5KXXOJKVHROI UOJ VX a9_YZKS UZ VXRT課程請: !cc !VGIQGM

42、K IUS _UUZQ JKSU!KXLGIKaVHROI UOJ VX !cVHROI IRGYY :KYZ*KSU aVHROI YOI UOJ SGOT 9ZXOTMAC GXMY a 此處為2GSJG表達式,沒有任何輸入?yún)?shù),只是進行輸出操作LT $ 9_YZKS UZ VXRT課程請: !cVHROI YOI UOJ LTSYM aSYM VX !cc2GSJG 表達式VGIQGMK IUS _UUZQ JKSU!KXLGIKa 定義接口VHROI UOJ VX ! 這是一個接口里面原本定義的方法YOI UOJ MKZ a9_YZKS UZ VXRT課程請: !ccVHROI IRG

43、YY :KYZ*KSU aVHROI YOI UOJ SGOT 9ZXOTMAC GXMY a MKZ ! 直接利用接口調(diào)用靜態(tài)方法cc范例 8-44:函數(shù)式接口。范例 8-45:編寫多行語句。范例 8-46:定義有參數(shù)有返回值的方法。package com.yootk.demo; Functionalerfaceerfacepublicadd(x,y);public class TestDemo public sic void main(String args) fun(s1, s2) - / 傳遞兩個參數(shù),此處只是一個參數(shù)標(biāo)記return s1 + s2;);public sic void

44、 fun(msg) System.out.prln(msg.add(10, 20);package com.yootk.demo; Functionalerfaceerfacepublic void pr () ;public class TestDemo public sic void main(String args) String info = 魔樂科技學(xué)院: ;fun() - System.out.prln(課程請:) ; System.out.prln(info) ;/ 輸出方法中的變量);public sic void fun(msg) msg.pr() ;Functionaler

45、faceerfacepublic void pr () ;public sic void fun(msg) msg.pr() ;范例 8-47:直接返回計算結(jié)果。范例 8-48:傳遞可變參數(shù)。8.9方法范例 8-49:在 String 類里的 valueOf()的x))。靜態(tài)方法,本次將靜態(tài)方法(public sic String valueOf(package com.yootk.demo;/*實現(xiàn)方法的接口param 方法的參數(shù)類型param 方法的返回類型*/Functionalerfacepackage com.yootk.demo; Functionalerfaceerfacepub

46、licadd(. args);sicsum(. args) / 此方法可以由接口名稱直接調(diào)用sum = 0;for (temp : args) sum += temp;return sum;public class TestDemo public sic void main(String args) / 在Lamda表達式中直接調(diào)用接口里定義的靜態(tài)方法fun(. param) -.sum(param);public sic void fun(msg) System.out.prln(msg.add(10, 20, 30);/ 傳遞可變參數(shù)public sic void main(String

47、args) / 直接返回兩個參數(shù)的計算結(jié)果,省略returnfun(s1, s2) - s1 + s2);范例 8-50:普通方法String類中的 toUpperCase(),本次方法(public String toUpper Case())。范例 8-51:特定類的方法。package com.yootk.demo; Functionalerfaceerface package com.yootk.demo;/*實現(xiàn)方法的接口param 方法的參數(shù)類型param 方法的返回類型*/Functionalerfaceerface public R upper() ;public class

48、TestDemo public sic void main(String args) / String類的toUpperCase()定義:public String toUpperCase()/ 此方法沒有參數(shù),但是有返回值,并且這個方法一定要在有實例化對象的情況下才可以調(diào)用/“yootk”字符串是String類的實例化對象,所以可以直接調(diào)用toUpperCase()方法/ 將toUpperCase()函數(shù)的應(yīng)用交給了接口 msg = yootk : toUpperCase ;String str = msg.upper() ;/ 相當(dāng)于“yootk.toUpperCase()”System.

49、out.prln(str);erface /*此處為方法后的名字par參數(shù)類型return 返回指定類型的數(shù)據(jù)*/public R zhuanhuan(P p);public class TestDemo public sic void main(String args) / 將String.valueOf()方法變?yōu)榻涌诶锏膠huanhuan()方法/ valueOf()方法可以接收型數(shù)據(jù),返回String型數(shù)據(jù) msg = String:valueOf;String str = msg.zhuanhuan(1000);/ 調(diào)用方法進行操作System.out.prln(str.replaceAll(0, 9);范例 8-52:構(gòu)造方法。8.10內(nèi)建函數(shù)式接口范例 8-53:使用功能型函數(shù)式接口接收參數(shù)并且返回一個處理結(jié)果。本操作將利用 Function 接口startsWith(String str)”方法。,String 類“publicpackage co

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論