版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用泛型《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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026北京法院面试题及答案
- 2026北美量化面试题及答案
- 2026本土人才面试题及答案
- 2026比亚迪控股面试题及答案
- 2026边检面试题及答案
- 2026编导面试题及答案
- 2026辨析类面试题及答案解析
- 2026表演录像面试题目及答案
- 2026冰雪产业面试题及答案
- 2026病理学本科面试题及答案
- 2026年医院收费员考试试题专项及参考答案
- 2026年高考历史真题山东卷含答案
- 2026河北衡水市住房和城乡建设局公开选聘工作人员7名笔试备考题库及答案详解
- 2026年全国养老护理员(高级)技能证书理论考试试题(附答案)
- 天津大学2026年强基计划校考《面试+体育测试》模拟试题及答案解析
- 2026湖南能源集团二季度社会招聘469人笔试模拟试题及答案详解
- 医院医疗技术临床应用管理制度(2025版)-3
- 低血糖的表现与应急处理
- 2025年教育系统遴选公务员笔试真题及答案解析
- 个人收入证明(14篇)
- 2026年4月自考06644园林史试题及答案
评论
0/150
提交评论