




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
使用泛型《Java程序設計》什么是泛型,如何創建泛型?1如何使用泛型?2本講要討論的問題目錄CONCENT什么是面向對象?泛型又叫“參數化類型”,是在定義類、接口、方法的時候指定某一種特定類型,讓類、接口、方法的使用者來確定具體使用哪一種類型的參數。通過使用泛型,可以在編寫代碼時將類型作為參數傳遞,并在編譯時進行類型檢查,從而實現類型安全性和代碼的重用性。什么是泛型?在一個ArrayList集合當中存儲信息,情況如下:
Productpro1=newProduct(1,"書籍",12.99);
Employeeemp1=newEmployee("001","王剛","男");
ArrayListlist=newArrayList();
list.add(emp1);
list.add(pro1);
for(Objectemp:list){
//在某處程序可能會報錯,無法確定遍歷的是Product,還是Employee}泛型的定義:行為(方法)特征(屬性)泛型集合在創建集合對象時指定集合中元素的類型,使用“<參數化類型>”的方式明確集合中元素的類型,通過在編譯時進行類型檢查,可以確保集合中只能存儲指定類型的對象數。例如:定義一個名為"Employee"的類,該類可以描述員工的屬性和行為。屬性是id、姓名、性別等;方法是工作等。
employeeid、姓名、性別等工作等Product
pro1
=
new
Product(1,"書籍",12.99);Employeeemp1
=
new
Employee("001","王剛","男");ArrayList<Employee>
list
=
new
ArrayList<Employee>();list.add(emp1);list.add(pro1);//此處,程序即會報錯,無法放入不同類型的數據將前面出現錯誤的例子改成使用泛型:程序會在編譯時進行檢查,發現不同類型的對象“pro1”,然后發出錯誤提示。泛型的定義:ArrayList<T>list=newArrayList<T>();ArrayList<?>list=newArrayList<>();1.聲明一個接受任何類型的泛型集合:泛型集合的聲明:集合名稱<T>對象名=new集合名稱<T>();語法
ArrayList<?extendsNumber>list=newArrayList<>();2.聲明一個接受某個類型及其子類的泛型集合:ArrayList<?superInteger>list=newArrayList<>();3.聲明一個接受某個類型及其父類的泛型集合:
“雇員”類特征(屬性)ID姓名性別行為(方法)工作下面以兩個案例講解泛型在List集合當中的應用:泛型的應用:實例化
publicclassEmployee{
privateStringid;//員工編號
privateStringname;//員工姓名
privateStringgender;//員工性別
publicEmployee(Stringid,Stringname,Stringgender){
this.id=id;
this.name=name;
this.gender=gender;}
publicStringgetId(){
returnid;}
publicStringgetName(){
return
name;}
publicStringgetGender(){
return
gender;}
publicvoiddoWork(){//員工工作的方法System.out.println("員工"+name+"正在工作...");}}實例化
importjava.util.ArrayList;importjava.util.List;publicclassTestEmployee{
publicstaticvoidmain(String[]args){
//聲明一個泛型集合 List<Employee>empList=newArrayList<>();
//添加員工 Employeeemployee1=newEmployee("001","王剛","男"); Employeeemployee2=new
Employee("002","李欣","女"); Employeeemployee3=newEmployee("003","張小飛","男");
//添加員工 empList.add(employee1); empList.add(employee2); empList.add(employee3);
//輸出員工人數 System.out.println("當前員工人數:"+empList.size());
for(Employeeemp:empList){ System.out.println("編號:"+emp.getId()); System.out.println("姓名:"+emp.getName()); System.out.println("性別:"+e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全國旅游合同示范文本
- 2025農業合作合同范本
- 2025年酸堿平衡調節藥項目建議書
- 2025全面租賃合同示范文本
- 2025年家用美容、保健電器具項目建議書
- 2025年龍門式加工中心或龍門式臥式銑床項目合作計劃書
- 2025年視窗防護屏項目合作計劃書
- 2025年法律職業資格考試復習要點試題及答案
- 2025年環境污染防治專用設備合作協議書
- 廣安畫線施工方案
- 2025年統計學期末考試題庫:綜合案例分析題模擬試卷
- 無人機失控應急事件處置預案
- 駐廠協議書模板
- 《中英飲食文化差異》課件
- 樹木清除合同協議
- 2024年韶關市始興縣事業單位招聘工作人員筆試真題
- 盡職調查專項法律服務合同
- 2025年小學勞動技能大賽實施方案
- 《中國腦卒中防治報告(2023)》
- 學生資助感恩教育主題班會
- 甘肅民族師范學院招聘工作人員考試真題2024
評論
0/150
提交評論