《Java程序設計任務式教程》課件 703 使用泛型(課件)_第1頁
《Java程序設計任務式教程》課件 703 使用泛型(課件)_第2頁
《Java程序設計任務式教程》課件 703 使用泛型(課件)_第3頁
《Java程序設計任務式教程》課件 703 使用泛型(課件)_第4頁
《Java程序設計任務式教程》課件 703 使用泛型(課件)_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

使用泛型《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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論