版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)(javajava版版) 北京信息科技大學(xué)北京信息科技大學(xué) 計算機(jī)學(xué)院計算機(jī)學(xué)院 段瑞雪段瑞雪12泛型31 public class generictest 2 public static void main(string args) 3 list list = new arraylist(); 4 list.add(qqyumidi); 5 list.add(corn); 6 list.add(100); 7 8 for (int i = 0; i list.size(); i+) 9 string name = (string) list.get(i); / 110 sys
2、tem.out.println(name: + name);11 12 13 http:/ 一般用t表示。451 public class generictest2 2 3 public static void main(string args) 4 /* 5 list list = new arraylist(); 6 list.add(qqyumidi); 7 list.add(corn); 8 list.add(100); 9 */10 11 list list = new arraylist();12 list.add(qqyumidi);13 list.add(corn);14 /l
3、ist.add(100); / 1 提示編譯錯誤15 16 for (int i = 0; i list.size(); i+) 17 string name = list.get(i); / 218 system.out.println(name: + name);19 20 21 public class list boolean add(t key); t get(t key); t set(t key);.6自定義泛型接口、泛型類和泛型方法自定義泛型接口、泛型類和泛型方法7public class box private int t; public void set(int t) th
4、is.t = t; public int get() return t; 8public class box private float t; public void set(float t) this.t = t; public float get() return t; 9public class box private t t; public void set(t t) this.t = t; public t get() return t; 泛型類10public class box private t t; public void set(t t) this.t = t; publi
5、c t get() return t; public static void main(string args) box integerbox = new box(); box stringbox = new box(); integerbox.set(new integer(10); stringbox.set(new string(菜鳥教程菜鳥教程); system.out.printf(整型值為整型值為 :%dnn, integerbox.get(); system.out.printf(字符串為字符串為 :%sn, stringbox.get(); 為什么引入泛型的概念? 1. 類型檢
6、查。 2. 節(jié)省空間,一個泛型類,可以處理各種數(shù)據(jù)類型的數(shù)據(jù)。 1112adt set數(shù)據(jù):集合中的數(shù)據(jù)元素,數(shù)據(jù)元素的數(shù)據(jù)類型為t操作boolean isempty();int size();t search(t key);boolean contains(t key);boolean add(t x);t remove(t key);void clear();boolean containsall(setset);boolean addall(setset);13接口14聲明一個接口(最簡單的情況)15接口的實際應(yīng)用16interface usb / 操作標(biāo)準(zhǔn)操作標(biāo)準(zhǔn) public voi
7、d install() ; public void work() ;class computer public void plugin(usb usb) usb.install() ; usb.work() ; class phone implements usb public void install() system.out.println(安裝手機(jī)驅(qū)動程序安裝手機(jī)驅(qū)動程序。) ; public void work() system.out.println(手機(jī)與電腦進(jìn)行工作手機(jī)與電腦進(jìn)行工作。) ; class printer implements usb public void ins
8、tall() system.out.println(安裝打印機(jī)驅(qū)動程序安裝打印機(jī)驅(qū)動程序。) ; public void work() system.out.println(進(jìn)行文件打印進(jìn)行文件打印。) ; class mp3 implements usb public void install() system.out.println(安裝安裝mp3驅(qū)動程序。驅(qū)動程序。) ; public void work() system.out.println(進(jìn)行進(jìn)行mp3拷貝。拷貝。) ; public class testdemo public static void main(string a
9、rgs) computer c = new computer() ; c.plugin(new phone() ; c.plugin(new printer() ; c.plugin(new mp3(); 為什么要引入接口的概念? 1. 減少重復(fù)定義。 2. 便于利用基類引用,處理各種類型的子類,實現(xiàn)多態(tài)。1718接口和泛型19public interface set 泛型接口泛型接口public class sortset implements setset set = new sortset();set.add(x)泛型通配符t 是類型參數(shù),指定元素的數(shù)據(jù)類型,t的實際參數(shù)類型是類,在聲明
10、和創(chuàng)建對象時指定。 “?” 是泛型通配符, “?extends t” 是指t及其任意一個子類。 “? super t” 是指t及其任意一個父類。2021泛型中占位符泛型中占位符 t和和 ?有什么區(qū)別有什么區(qū)別?https:/ class teacher public string str; public int age; public int sex; public teacher(string str, int age,int sex) this.str = str; this.age = age; this.sex = sex; public class student extends t
11、eacher public student(string str, int age,int sex) super(str,age,sex); public class child extends student public child(string str, int age,int sex) super(str,age,sex); teacherstudentchild23public static void test() arraylist list1 = new arraylist(); list1.add(new student(zhangsan,18,0); list1.add(ne
12、w student(lisi,28,0); list1.add(new student(wangwu,24,1); /這里如果add(new teacher(.);就會報錯, show1(list1); /這里我們并沒有給list指定具體的數(shù)據(jù)類型, /可以存放多種類型數(shù)據(jù) public static void show1(list list) for (object object : list) system.out.println(object.tostring(); 24public static void test2()/這里我們并沒有給list指定具體的數(shù)據(jù)類型, /可以存放多種類型
13、數(shù)據(jù) arraylist list2 = new arraylist(); list2.add(new student(zhaoliu,22,1); list2.add(new teacher(sunba,30,0); show2(list2); public static void show2(list list) for (object object : list) system.out.println(object); 25public static void test3() arraylist list3 = new arraylist(); list3.add(new teacher
14、(zhaoliu,22,1); list3.add(new teacher(sunba,30,0); show3(list3); /這里我們并沒有給list指定具體的數(shù)據(jù)類型, /可以存放多種類型數(shù)據(jù) public static void show3(list list) for (object object : list) system.out.println(object); 26public static void test3() /這里我們并沒有給list指定具體的數(shù)據(jù)類型, /可以存放多種類型數(shù)據(jù) arraylist list4 = new arraylist(); list4.ad
15、d(new student(sunba,30,0); list4.add(new teacher(zhaoliu,22,1); show4(list4); public static void show4(list list) for (object object : list) system.out.println(object); 27public static void test3() arraylist list5 = new arraylist(); list5.add(new child(zhangsan, 15,1); list5.add(new child(sunba,30,0); list5.add(new child(zhaoliu,22,1); show3(list5); arraylist list6 = new arraylist(); list6.add(new child(zhangsan,15,1); list6.add(new student(
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省2023-2024學(xué)年普通高中學(xué)業(yè)水平合格性考試仿真模擬卷英語試卷
- 中國車座墊行業(yè)市場調(diào)查研究及投資前景預(yù)測報告
- 四年級數(shù)學(xué)(四則混合運(yùn)算)計算題專項練習(xí)與答案
- 桁架式電動升降雷達(dá)塔 7米高透波玻璃鋼避雷針 玻璃纖維照明燈桿
- 餐飲知識類培訓(xùn)課件圖片
- 年產(chǎn)80萬套制動鼓輪轂提質(zhì)升級項目可行性研究報告模板-立項備案
- 樹立正確職業(yè)心態(tài)
- 車床數(shù)控知識培訓(xùn)課件
- 生成式人工智能的教育應(yīng)用與展望-以ChatGPT 系統(tǒng)為例
- 臨床類風(fēng)濕關(guān)節(jié)炎疾病概述、臨床表現(xiàn)、治療原則、要護(hù)理問題、相關(guān)因素、護(hù)理重點及健康指導(dǎo)
- 代縣雁門光伏升壓站~寧遠(yuǎn)220kV線路工程環(huán)評報告
- 承諾函(支付寶)
- 危險化學(xué)品目錄2023
- FZ/T 81024-2022機(jī)織披風(fēng)
- GB/T 24123-2009電容器用金屬化薄膜
- 艾滋病梅毒乙肝實驗室檢測
- 國鐵橋梁人行道支架制作及安裝施工要點課件
- 領(lǐng)導(dǎo)科學(xué)全套精講課件
- 粵教版地理七年級下冊全冊課件
- 小學(xué)科學(xué)蘇教版六年級上冊全冊精華知識點(2022新版)
- 萎縮性胃炎共識解讀
評論
0/150
提交評論