亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

泛型接口和方法

2019-11-08 19:52:01
字體:
來源:轉載
供稿:網友

泛型接口

定義泛型接口 在 JDK 1.5之后,不僅可以在接口上聲明泛型,聲明格式與之前類似,是咋接口名稱后面加上< T>即可。格式如下:【訪問權限】 interface 接口名稱<泛型標識>{}

下面利用以上定義一個泛型接口: 【定義一個泛型接口】

interface Info<T>{ public T getVar();}泛型接口實現的兩種方式 泛型接口定義完成之后,就要定義此接口的子類,定義泛型接口的子類有兩種方式,一種是直接在子類后聲明泛型,另一種是直接在子類實現的接口中明確的給出泛型類型。 【定義子類方式-1】——在子類的定義上聲明泛型類型inteface Info<T>{ public T getVar();}class InfoImpl<T> implements Info<T>{ PRivate T var; public InfoImpl(T var){ this.setVar(var); } public void setVar(T var){ this.var=var; } public T getVar(){ return this.var; }}

以上程序泛型接口的子類聲明了與接口中同樣的泛型標識,使用以上子類的方式與前面的程序類似。 使用泛型接口的子類

public class GenericsDemo24{ public static void main(String args[]){ Info<String> i=null; i=new InfoImpl<String>("張三"); System.out.println("姓名:"+i.getVar()); }}

運行結果:

---------- java ----------姓名:張三

以上程序不難理解,雖然指定了泛型,但是依然可以使用對象的多態性通過一個子類為接口實例化。 【定義子類方式-2】——直接在接口中指定具體類型

interface Info<T>{ public T getVar();};class InfoImpl implements Info<String>{ private String var; public InfoImpl(String var){ this.setVar(var); } public void setVar(String var){ this.var=var; } public String getVar(){ return this.var; }};

以上程序泛型接口的子類正在實現接口時,直接在實現的接口處指定了具體的泛型類型String,這樣在覆寫Info接口中的getVar()方法是直接聲明類型為String類型。 使用泛型接口的子類:

public class GenericsDemo25{ public static void main(String args[]){ Info<String> i=null; i=new InfoImpl("張三"); System.out.println("姓名:"+i.getVar()); }}

運行結果:

---------- java ----------姓名:張三

泛型方法

前面學習的所有泛型操作都是將整個類進行泛型化,但同樣也可以在類中定義泛型化的方法。泛型方法的定義與其所在的類是否是泛型類是否沒有任何關系,所在的類可以是泛型類,也可以不是泛型類。

定義泛型方法 在方形方法中可以定義泛型參數,此時,參數的類型就是傳入數據的類型,可以使用如下的格式定義泛型方法。 【泛型方法的簡單定義】【訪問權限】<泛型標識> 泛型標識 方法名稱([泛型標識 參數名稱])

【定義一個泛型方法】

class Demo{ public<T> T fun(T t){ return t; } }public class GenericsDemo26{ public static void main(String args[]){ Demo d=new Demo(); String str=d.fun("張三"); int i=d.fun(30); System.out.println(str); System.out.println(i); } }

運行結果:

---------- java ----------張三30

以上程序的fun()方法是將接收到的參數直接返回,而且因為在方法接收參數中使用了泛型操作,所以此方法可以接收任意類型的數據,而且此方法的返回值類型將由泛型指定。

通過泛型方法返回泛型類實例 如果可以通過泛型方法返回一個泛型類的實例化對象,則必須在方法的返回類型聲明處明確的指定泛型標識。 【通過方法返回泛型類實例】class Info<T extends Number>{ private T var; public T getVar(){ return var; } public void setVar(T var){ this.var=var; } public String toString(){ return this.var.toString(); }}public class GenericsDemo27{ public static void main(String args[]){ Info<Integer> i=fun(30); System.out.println(i.getVar()); } public static <T extends Number> Info<T> fun(T param){ Info<T> temp =new Info<T>(); temp.setVar(param); return temp; }}

運行結果:

---------- java ----------30

上面的代碼中的fun()方法在static關鍵字處定義了“ < T extends Number>”的意思是,方法中傳入或返回的泛型類型由調用方法時所設置的參數類型決定。

使用泛型統一傳入的參數類型 如果現在一個方法要求傳入的泛型對象的泛型類型一致,也可以通過泛型方法指定。 【統一輸入對象的泛型類型】class Info<T>{ private T var; public T getVar(){ return var; } public void setVar(T var){ this.var=var; } public String toString(){ return this.var.toString(); }}public class GenericsDemo28{ public static void main(String args[]){ Info<String> i1=new Info<String>(); Info<String> i2=new Info<String>(); i1.setVar("Hello"); i2.setVar("張三"); add(i1,i2); } public static <T>void add(Info<T> i1,Info<T> i2){ System.out.println(i1.getVar()+" "+i2.getVar()); }}

運行結果:

---------- java ----------Hello 張三

上面程序中add()方法中的兩個Info對象的泛型類型必須一致。如果設置的類型不一致策在編譯的時候會出現錯誤,有興趣可以動手試一下。

泛型與子類繼承的限制 一個類的子類可以通過對象的多態性為其父類實例化,但是在泛型操作中,子類類型是無法使用父類的泛型類型接收的,例如,Info < String>不能使用Info < Object>接收。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美极品欧美精品欧美视频| 欧美一级在线播放| 久久亚洲成人精品| 国产精品久久综合av爱欲tv| 久久久免费观看视频| 国产+成+人+亚洲欧洲| 国产成人精品久久久| 国产黑人绿帽在线第一区| 成人国内精品久久久久一区| 成人精品网站在线观看| 国产亚洲激情在线| 国产精品美女无圣光视频| 欧美激情二区三区| 亚洲一区二区福利| 国内精品视频在线| 91人成网站www| 国产精品v片在线观看不卡| 亚洲国产高潮在线观看| 午夜精品蜜臀一区二区三区免费| 国产精品香蕉在线观看| 欧美老妇交乱视频| 亚洲最大福利网| 国模私拍视频一区| 91精品国产综合久久香蕉922| 国产精品永久免费视频| 成人深夜直播免费观看| 91po在线观看91精品国产性色| 亚洲精品suv精品一区二区| 这里只有精品视频在线| 欧美黄色三级网站| 久久久久久久久久久网站| 久久久久久久激情视频| 日韩欧美国产一区二区| 国产精品xxxxx| 国产精品自在线| 日韩一区二区久久久| 国产女同一区二区| 亚洲免费成人av电影| 亚洲天天在线日亚洲洲精| 日韩一中文字幕| 欧美激情国产日韩精品一区18| 国产精品久久久久久久久久小说| 91精品国产91久久久久| 中文字幕久精品免费视频| 亚洲免费视频在线观看| 亚洲一区二区中文| 亚洲国产成人久久| 欧美激情第6页| 欧美激情第一页xxx| 欧美电影免费观看高清完整| 久久天天躁夜夜躁狠狠躁2022| 亚洲一区二区三区四区在线播放| 日韩在线一区二区三区免费视频| 欧美午夜视频在线观看| 91性高湖久久久久久久久_久久99| 亚洲国产精品推荐| 亚洲精品影视在线观看| 国产精品一区二区性色av| 国产原创欧美精品| 日韩电影网在线| 亚洲精品动漫久久久久| 欧美性xxxx在线播放| 欧美床上激情在线观看| 欧美日韩一区二区免费在线观看| 欧美极品少妇xxxxx| 国产一区视频在线播放| 欧美日韩色婷婷| 欧美乱妇高清无乱码| 国产亚洲在线播放| 日韩av网站大全| 日韩美女视频中文字幕| 日韩电影中文字幕av| 久久97精品久久久久久久不卡| 日本午夜在线亚洲.国产| 欧美日韩免费一区| 日韩在线激情视频| 亚洲人成啪啪网站| 中文字幕日韩精品有码视频| 亚洲综合av影视| 亚洲人成毛片在线播放| 欧美国产在线视频| 国产精品成人品| 97超级碰碰人国产在线观看| 精品视频www| 日韩欧美成人精品| 欧美性猛交xxxx免费看久久久| 中文字幕在线精品| 久久综合免费视频影院| 午夜精品视频在线| 日韩精品视频免费在线观看| 51精品在线观看| 美女视频久久黄| 国产福利视频一区| 中文字幕日韩av电影| 日韩免费观看视频| 久久久久久91| 97久久久免费福利网址| 色噜噜狠狠狠综合曰曰曰| 精品国产一区二区在线| 亚洲国产婷婷香蕉久久久久久| 欧洲精品在线视频| 成人黄色激情网| 亚洲最大的成人网| 狠狠躁夜夜躁人人躁婷婷91| 91久久国产综合久久91精品网站| 精品二区三区线观看| 久久久久久午夜| 国产精品自拍小视频| 欧美一乱一性一交一视频| 亚洲一区二区三区四区在线播放| 黑人巨大精品欧美一区二区三区| 精品久久久久久久久国产字幕| 亚洲福利视频二区| 九九久久久久99精品| 欧美成人性色生活仑片| 精品欧美国产一区二区三区| 国产精品久久久久7777婷婷| 欧美精品在线极品| 国产日韩欧美91| 午夜精品久久17c| 国产成人aa精品一区在线播放| 国产精品xxx视频| 国产精品成人观看视频国产奇米| 这里只有精品丝袜| 欧美性jizz18性欧美| 亚洲欧美在线免费观看| 欧美天天综合色影久久精品| 欧美一级电影在线| 国内成人精品一区| 91亚洲国产成人精品性色| 国内免费久久久久久久久久久| 精品福利一区二区| 亚洲最大av在线| 国产精品热视频| 亚洲免费精彩视频| 亚洲黄色在线观看| 国产精品99久久久久久白浆小说| 91在线免费视频| 欧美精品做受xxx性少妇| 亚洲第一男人天堂| 97免费视频在线播放| 亚洲精品视频播放| 91人成网站www| 日韩精品在线电影| 国产97在线视频| 日韩电影中文字幕在线观看| 日韩精品视频免费在线观看| 欧美一级视频一区二区| 成人黄色影片在线| 日韩欧美在线中文字幕| 欧美在线视频a| 欧美视频在线免费看| 欧美日韩国产中文精品字幕自在自线| 欧美多人爱爱视频网站| 久久不射热爱视频精品| 久久精品视频亚洲| 欧美肥婆姓交大片| 日韩综合视频在线观看| 精品高清一区二区三区| 亚洲国产精久久久久久久| 日韩精品在线第一页| 在线观看91久久久久久| 欧美精品精品精品精品免费| 中文字幕精品在线视频|