




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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個(gè)整型數(shù)據(jù)System.out.prln(add(new10,20);/ 傳遞2個(gè)整型數(shù)據(jù)/ 或者使用“,”區(qū)分不同的參數(shù),接收的時(shí)候還是數(shù)組System.out.prln(add(1,2,3);/ 傳遞3個(gè)參數(shù)System.out.prln(
2、add(10,20);/ 傳遞2個(gè)參數(shù)System.out.prln(add();/ 不傳遞參數(shù)/*實(shí)現(xiàn)任意多個(gè)整型數(shù)據(jù)的相加操作param data 由于要接收多個(gè)整型數(shù)據(jù),所以使用數(shù)組完成接收return 多個(gè)整型數(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個(gè)整型數(shù)據(jù)System.out.prln(add(new10,20); / 傳遞2個(gè)整型數(shù)據(jù)
3、/*實(shí)現(xiàn)任意多個(gè)整型數(shù)據(jù)的相加操作param data 由于要接收多個(gè)整型數(shù)據(jù),所以使用數(shù)組完成接收return 多個(gè)整型數(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)實(shí)現(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ù)組長(zhǎng)度決定/ 每一次循環(huán)實(shí)際上都表示數(shù)組的角標(biāo)增長(zhǎng),會(huì)取得每一個(gè)數(shù)組的內(nèi)容,并且將其設(shè)置給x System.out.prln(x + 、);/ x就是每一個(gè)數(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類(lèi),使用 Object 作為屬性類(lèi)型。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類(lèi)中的全部sic方法導(dǎo)入,這些方法就好比在主類(lèi)中定義的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類(lèi)里面保存整型數(shù)據(jù)。范例 8-10:在 Po類(lèi)里面保存浮點(diǎn)型數(shù)據(jù)。范例 8-11:在 Po類(lèi)里面保存使用字符串?dāng)?shù)據(jù)。public class TestDemo public sic void main(String args) / 第一步:根據(jù)需要設(shè)置數(shù)據(jù),假設(shè)此時(shí)的作用是傳遞坐標(biāo)Pop = new Po() ;/ 實(shí)例化Po類(lèi)數(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ù)進(jìn)行操作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è)此時(shí)的作用是傳遞坐標(biāo)Pop = new Po() ;/ 實(shí)例化Po類(lèi)數(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ù)進(jìn)行操作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è)此時(shí)的作用是傳遞坐標(biāo)Pop = new Po() ;/ 實(shí)例化Po類(lèi)數(shù)據(jù)p.setX(10);/ 設(shè)置坐標(biāo)數(shù)據(jù)p.setY(20);/ 設(shè)置坐標(biāo)數(shù)據(jù)/ 第二步:根據(jù)設(shè)置好的坐標(biāo)取出數(shù)據(jù)進(jìn)行操作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:錯(cuò)誤的程序。范例 8-13:使用泛型修改 Po類(lèi)。范例 8-14:定義多個(gè)泛型。范例 8-14:使用 Po類(lèi)將泛型類(lèi)型設(shè)置為 String。public class TestDemo class Po public R fun(P p) return null ;package com.yootk.demo;/ 此時(shí)設(shè)置的T在Po類(lèi)定義上只表示一個(gè)標(biāo)記,在使用時(shí)需要為其設(shè)置具體的類(lèi)型class Po / 定義坐標(biāo),Type = 簡(jiǎn)寫(xiě)T,是一個(gè)類(lèi)型標(biāo)記private T x ;/ 此屬性的類(lèi)型不知道,由Po類(lèi)使用時(shí)動(dòng)態(tài)決定private T y ;/ 此屬性的類(lèi)型不
12、知道,由Po類(lèi)使用時(shí)動(dòng)態(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è)此時(shí)的作用是傳遞坐標(biāo)Pop = new Po() ;/ 實(shí)例化Po類(lèi)數(shù)據(jù)p.setX(東經(jīng)100度);/ 設(shè)置坐標(biāo)數(shù)據(jù)p.setY(10) ;/ 設(shè)置坐標(biāo)數(shù)據(jù),數(shù)據(jù)錯(cuò)誤/ 第二步:根據(jù)設(shè)置好的坐
13、標(biāo)取出數(shù)據(jù)進(jìn)行操作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:將泛型類(lèi)型設(shè)置為整型(eger)。范例 8-16:不設(shè)置泛型類(lèi)型。范例 8-17:定義一個(gè)支持泛型類(lèi)型的類(lèi)。package com.yootk.demo;class Message / 類(lèi)上使用泛型private T msg;public void setMsg(T msg) public class TestDemo public sic
14、 void main(String args) / 第一步:根據(jù)需要設(shè)置數(shù)據(jù),假設(shè)此時(shí)的作用是傳遞坐標(biāo) Pop = new Po() ;/ 將使用Object類(lèi)型描述泛型 p.setX(10);/ 設(shè)置坐標(biāo)數(shù)據(jù),向上為Object p.setY(20) ;/ 設(shè)置坐標(biāo)數(shù)據(jù),向上為Object/ 第二步:根據(jù)設(shè)置好的坐標(biāo)取出數(shù)據(jù)進(jìn)行操作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è)此時(shí)的作用是傳遞坐標(biāo)Po p = new Po() ;/ 實(shí)例化Po類(lèi)數(shù)據(jù),設(shè)置泛型類(lèi)型為String p.setX(10);/ 設(shè)置坐標(biāo)數(shù)據(jù)p.setY(20) ;/ 設(shè)置坐標(biāo)數(shù)據(jù)/ 第二步:根據(jù)設(shè)置好的坐標(biāo)取出數(shù)據(jù)進(jìn)行操作x = p.getX();/ 取出坐標(biāo)數(shù)據(jù),不再需要強(qiáng)制轉(zhuǎn)換y = p.getY();/ 取出坐標(biāo)數(shù)據(jù),不再需要強(qiáng)制轉(zhuǎn)換System.out.prln(x坐標(biāo): + x + ,y坐標(biāo): + y);public sic void main(String args) / 第一步:根據(jù)需要設(shè)置數(shù)據(jù),假設(shè)此時(shí)的作用是傳
16、遞坐標(biāo)Po p = new Po () ;/ 實(shí)例化Po類(lèi)數(shù)據(jù),設(shè)置泛型類(lèi)型為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ù)進(jìn)行操作String x = p.getX();/ 取出坐標(biāo)數(shù)據(jù),不再需要強(qiáng)制轉(zhuǎn)換String y = p.getY(); / 取出坐標(biāo)數(shù)據(jù),不再需要強(qiáng)制轉(zhuǎn)換System.out.prln(x坐標(biāo): + x + ,y坐標(biāo): + y);范例 8-18:使用泛型操作。范例 8-19:錯(cuò)誤的使用。范例 8-20:使用通配符“?”解決參數(shù)傳遞問(wèn)題。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);/ 程序錯(cuò)誤,因?yàn)閰?shù)的泛型類(lèi)型是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類(lèi)對(duì)象,并且調(diào)用getter方法輸出類(lèi)中的msg屬性內(nèi)容param temp 接收Message類(lèi)對(duì)象的傳遞,此處設(shè)置的泛型類(lèi)型為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í)不設(shè)置泛型類(lèi)型。范例 8-22:設(shè)置泛型的上限。package com.yootk.demo;class Message / 設(shè)置泛型上限,只能夠是Number或Number子類(lèi)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子類(lèi) 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)容,邏輯錯(cuò)誤temp.setMsg(魔樂(lè)科技學(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();/ 泛型類(lèi)型為String System.out.prln(str.length();/ 計(jì)算長(zhǎng)度/*此方法為泛型方法,T的類(lèi)型由傳入的參數(shù)類(lèi)型決定必須在方法返回值類(lèi)型前明確定義泛型標(biāo)記param t 參數(shù)類(lèi)型,同時(shí)也決定了返回值類(lèi)型package com.yootk.demo;/*定義泛型接口,由于類(lèi)與接口命名標(biāo)準(zhǔn)相同,為了區(qū)分出類(lèi)與接口,在接口前加上字母“I”,例如:如果定義抽象類(lèi),則可以面加上Abstract,例如:AbstractMessageauthor YOOTKparam pr ()方法使用的泛型類(lèi)型*/
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(課程請(qǐng):);/ 設(shè)置屬性內(nèi)容fun(m1);/傳遞public sic void fun
24、(Message temp) / 定義泛型下限System.out.prln(temp.getMsg();8.5枚舉范例 8-26:定義顏色的枚舉類(lèi)。范例 8-27:利用多例設(shè)計(jì)模式實(shí)現(xiàn)類(lèi)似枚舉的操作。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(藍(lán)色); 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 / 定義枚舉類(lèi)RED, GREEN, BLUE;/ 表示此處為實(shí)例化對(duì)象public class TestDemo public s
26、ic void main(String args) Color red = Color.RED;/ 直接取得枚舉對(duì)象System.out.prln(red);* return 直接返回設(shè)置進(jìn)來(lái)的內(nèi)容*/public sic T fun(T t) return t;范例 8-28:使用 Enum 定義的方法。范例 8-29:返回枚舉中的全部?jī)?nèi)容。范例 8-30:擴(kuò)充枚舉功能。package com.yootk.demo;enum Color RED(紅色), GREEN(綠色), BLUE(藍(lán)色);/ 定義枚舉對(duì)象,必須寫(xiě)在首行private String title;/ 屬性private C
27、olor(String title) / 構(gòu)造方法,不能使用publicthis.title = title;public String toString() / 覆寫(xiě)toString()方法return this.title;package com.yootk.demo;enum Color / 定義枚舉類(lèi)RED, GREEN, BLUE;/ 表示此處為實(shí)例化對(duì)象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 / 定義枚舉類(lèi)RED, GREEN, BLUE;/ 表示此處為實(shí)例化對(duì)象public class TestDemo public sic void main(String args) Color red = Color.RED;/ 直接取得枚舉對(duì)象 System.out.prln(枚舉對(duì)象序號(hào): + red.ordinal(); System.out.prln(枚舉對(duì)象名稱: + ();public class TestDemo public s ic void main(String args) Color re
29、d = Col etInstance(1); System.out.pr ln(red);范例 8-31:枚舉實(shí)現(xiàn)接口。范例 8-32:另外一種接口的實(shí)現(xiàn)。package com.yootk.demo;erfacepublic String getTitle() ;enum Color implements/ 實(shí)現(xiàn)接口RED(紅色) / 適應(yīng)類(lèi)的方式實(shí)現(xiàn)接口public String getTitle() return this + - red;,GREEN(綠色) / 適應(yīng)類(lèi)的方式實(shí)現(xiàn)接口public String getTitle() return this + - green;packa
30、ge com.yootk.demo;erfacepublic String getTitle() ;enum Color implements/ 實(shí)現(xiàn)接口RED(紅色), GREEN(綠色), BLUE(藍(lán)色);/ 定義枚舉對(duì)象,都是接口實(shí)例private String title;/ 屬性private Color(String title) / 構(gòu)造方法,不能使用publicthis.title = title;public String getTitle() / 覆寫(xiě)方法return this.title ;public String toString() / 覆寫(xiě)toString()方
31、法return this.title;public class TestDemo public sic void main(String args) msg = Color.RED ;/ 實(shí)例化接口對(duì)象System.out.prln(msg.getTitle();public class TestDemo public sic void main(String args) for (Color c : Color.values() / 取得全部枚舉對(duì)象System.out.pr(c + 、);/ 直接輸出對(duì)象調(diào)用toString()范例 8-33:定義抽象方法并覆寫(xiě)。package com.y
32、ootk.demo;enum Color RED(紅色) / 適應(yīng)類(lèi)的方式實(shí)現(xiàn)接口public String getTitle() return this + - red;,GREEN(綠色) / 適應(yīng)類(lèi)的方式實(shí)現(xiàn)接口public String getTitle() return this + - green;,BLUE(藍(lán)色) / 適應(yīng)類(lèi)的方式實(shí)現(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() / 覆寫(xiě)toString()方法return this.title;public abstract String getTitle() ;/ 定義抽象方法public class TestDemo ,BLUE(藍(lán)色) / 適應(yīng)類(lèi)的方式實(shí)現(xiàn)接口public String getTitle() return this + - blue;private String title;/ 屬性private Color(String title) / 構(gòu)造方法,不能使用publicthis.title = title;public
34、 String toString() / 覆寫(xiě)toString()方法return this.title;public class TestDemo public sic void main(String args) msg = Color.RED ;/ 實(shí)例化接口對(duì)象System.out.prln(msg.getTitle();范例 8-34:在 switch 語(yǔ)句上使用枚舉。范例 8-35:在類(lèi)設(shè)計(jì)結(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(這是藍(lán)色!);break;public sic void main(String args) System.out.prln(Color.RED.getTitle();8.6Annoion范例 8-36
37、:準(zhǔn)確覆寫(xiě)。范例 8-37:錯(cuò)誤的程序。范例 8-38:過(guò)期操作。TTUOUT 簡(jiǎn)介VGIQGMK IUS _UUZQ JKSU!IRGYY (UUQ a&*KVXKIGZKJ 此方法為過(guò)期操作VHROI UOJ LT a 使用會(huì)有警告,但是不會(huì)出錯(cuò)ccVHROI IRGYY :KYZ*KSU aVHROI YOI UOJ SGOT 9ZXOTMAC GXMY a (UUQ HUUQ # TK (UUQ !HUUQ LT ! 此方法不建議使用ccIRGYY (UUQ aVHROI 9ZXOTM ZUYZXOTM a 原本打算覆寫(xiě)ZU9ZXOTM XKZXT 這是一本書(shū)! !ccIRGYY (U
38、UQ a&5KXXOJK 只要正確進(jìn)行了覆寫(xiě),就不會(huì)出現(xiàn)編譯的語(yǔ)法錯(cuò)誤VHROI 9ZXOTM ZU9ZXOTM a 原本打算覆寫(xiě)ZU9ZXOTM XKZXT 名師講壇 5XGIRK開(kāi)發(fā)實(shí)戰(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:壓制多個(gè)警告信息。8.7接口定義加強(qiáng)范例 8-40:定義普通方法。p
39、ackage com.yootk.demo;erface/ 定義接口public void pr ();/ 這是一個(gè)接口里面原本定義的方法default void fun() / 在接口里面定義了一個(gè)普通的方法System.out.prln(課程請(qǐng):);class MessageImpl implements Overridepublic void pr () / 覆寫(xiě)pr()方法 System.out.prln(魔樂(lè)科技學(xué)院:);public class TestDemo public sic void main(String args) msg = new MessageImpl();ms
40、g.pr();/ 子類(lèi)已覆寫(xiě)接口方法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();/ 沒(méi)有泛型
41、,產(chǎn)生“rawtypes”警告信息book.setTitle(O);/ 出現(xiàn)警告信息,產(chǎn)生“unchecked”警告信息范例 8-41:定義 sic 方法。8.8Lamda 表達(dá)式范例 8-42:Lamda 表達(dá)式入門(mén)操作。范例 8-43:使用類(lèi)操作。VGIQGMK IUS _UUZQ JKSU!KXLGIKaVHROI UOJ VX !cVHROI IRGYY :KYZ*KSU aVHROI YOI UOJ SGOT 9ZXOTMAC GXMY aLT TK a 等價(jià)于2GSJG表達(dá)式定義&5KXXOJKVHROI UOJ VX a9_YZKS UZ VXRT課程請(qǐng): !cc !VGIQGM
42、K IUS _UUZQ JKSU!KXLGIKaVHROI UOJ VX !cVHROI IRGYY :KYZ*KSU aVHROI YOI UOJ SGOT 9ZXOTMAC GXMY a 此處為2GSJG表達(dá)式,沒(méi)有任何輸入?yún)?shù),只是進(jìn)行輸出操作LT $ 9_YZKS UZ VXRT課程請(qǐng): !cVHROI YOI UOJ LTSYM aSYM VX !cc2GSJG 表達(dá)式VGIQGMK IUS _UUZQ JKSU!KXLGIKa 定義接口VHROI UOJ VX ! 這是一個(gè)接口里面原本定義的方法YOI UOJ MKZ a9_YZKS UZ VXRT課程請(qǐng): !ccVHROI IRG
43、YY :KYZ*KSU aVHROI YOI UOJ SGOT 9ZXOTMAC GXMY a MKZ ! 直接利用接口調(diào)用靜態(tài)方法cc范例 8-44:函數(shù)式接口。范例 8-45:編寫(xiě)多行語(yǔ)句。范例 8-46:定義有參數(shù)有返回值的方法。package com.yootk.demo; Functionalerfaceerfacepublicadd(x,y);public class TestDemo public sic void main(String args) fun(s1, s2) - / 傳遞兩個(gè)參數(shù),此處只是一個(gè)參數(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 = 魔樂(lè)科技學(xué)院: ;fun() - System.out.prln(課程請(qǐng):) ; 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:直接返回計(jì)算結(jié)果。范例 8-48:傳遞可變參數(shù)。8.9方法范例 8-49:在 String 類(lèi)里的 valueOf()的x))。靜態(tài)方法,本次將靜態(tài)方法(public sic String valueOf(package com.yootk.demo;/*實(shí)現(xiàn)方法的接口param 方法的參數(shù)類(lèi)型param 方法的返回類(lèi)型*/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表達(dá)式中直接調(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) / 直接返回兩個(gè)參數(shù)的計(jì)算結(jié)果,省略returnfun(s1, s2) - s1 + s2);范例 8-50:普通方法String類(lèi)中的 toUpperCase(),本次方法(public String toUpper Case())。范例 8-51:特定類(lèi)的方法。package com.yootk.demo; Functionalerfaceerface package com.yootk.demo;/*實(shí)現(xiàn)方法的接口param 方法的參數(shù)類(lèi)型param 方法的返回類(lèi)型*/Functionalerfaceerface public R upper() ;public class
48、TestDemo public sic void main(String args) / String類(lèi)的toUpperCase()定義:public String toUpperCase()/ 此方法沒(méi)有參數(shù),但是有返回值,并且這個(gè)方法一定要在有實(shí)例化對(duì)象的情況下才可以調(diào)用/“yootk”字符串是String類(lèi)的實(shí)例化對(duì)象,所以可以直接調(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ù)類(lèi)型return 返回指定類(lèi)型的數(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)用方法進(jìn)行操作System.out.prln(str.replaceAll(0, 9);范例 8-52:構(gòu)造方法。8.10內(nèi)建函數(shù)式接口范例 8-53:使用功能型函數(shù)式接口接收參數(shù)并且返回一個(gè)處理結(jié)果。本操作將利用 Function 接口startsWith(String str)”方法。,String 類(lèi)“publicpackage co
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度醫(yī)療機(jī)構(gòu)醫(yī)生個(gè)人遠(yuǎn)程診療合同
- 二零二五年度創(chuàng)新產(chǎn)業(yè)個(gè)人工資激勵(lì)合同
- 2025年度監(jiān)事勞動(dòng)合同(含數(shù)據(jù)安全保護(hù)協(xié)議)
- 2025年度杉木木材環(huán)保認(rèn)證與推廣合同
- 二零二五年度三方智能交通領(lǐng)域股權(quán)合作合同
- 2025年度美容美發(fā)商標(biāo)使用許可合同
- 二零二五年度順豐快遞員工作環(huán)境改善及優(yōu)化合同
- 二零二五年度財(cái)務(wù)經(jīng)理人才引進(jìn)勞務(wù)合同
- 二零二五年度科技創(chuàng)新型單位與個(gè)人勞動(dòng)合同規(guī)范
- 2025年度民間個(gè)人汽車(chē)購(gòu)置借款合同
- 《職業(yè)道德與法治》開(kāi)學(xué)第一課(導(dǎo)言)(課件)-【中職專(zhuān)用】中職思想政治《職業(yè)道德與法治》高效課堂課件+教案(高教版2023·基礎(chǔ)模塊)
- (正式版)SHT 3227-2024 石油化工裝置固定水噴霧和水(泡沫)噴淋滅火系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- (正式版)JBT 10437-2024 電線電纜用可交聯(lián)聚乙烯絕緣料
- 法律知識(shí)圖譜構(gòu)建及應(yīng)用
- 八卦的基本介紹及其科學(xué)內(nèi)涵
- 誦讀經(jīng)典傳承文明課件
- 高中數(shù)學(xué)選擇性必修3 教材習(xí)題答案
- 智能語(yǔ)音技術(shù)與應(yīng)用-基于Python實(shí)現(xiàn)(高職)全套教學(xué)課件
- (建筑制圖)課程綜合自測(cè)題3(試卷和答案)
- 公司商業(yè)模式策劃案關(guān)鍵合作伙伴
- 北師大版二年級(jí)下冊(cè)數(shù)學(xué)第一單元 除法教案
評(píng)論
0/150
提交評(píng)論