欢迎来到天天文库
浏览记录
ID:48737633
大小:110.00 KB
页数:20页
时间:2020-01-21
《Java05_泛型、枚举与For语句的简化写法.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第五章泛型、枚举与for语句的简化写法信息类专业课程西北农林科技大学5.1泛型(genericity)可提高程序代码的复用性减少数据的类型转换,以提高代码的运行效率--在编译时强制使用正确的数据类型通过给类或接口增加类型参数实现泛型类和泛型接口的定义类[类修饰词列表]class类名<类型参数列表>[extends父类名][implements接口名称列表]{类体}接口[接口修饰词列表]interface接口名<类型参数列表>[extends接口名称列表]{接口体}类型参数的定义格式类型变量标识符——等价于:类型参数变量标识符
2、extendsObject类型变量标识符extends父类型——表明所定义的类型变量是其父类型的子类型,如:publicclassAdd{…}类型变量标识符extends父类型1&父类型2&......&父类型n——各父类最多仅有1个类,其余为接口例1:采用第一种形式定义变量类型的泛型程序publicclassAdd{publicStringsum(Ta1,Ta2,Ta3){return(a1.toString()+a2.toString()+a3.toString(
3、));}//方法sum结束publicstaticvoidmain(Stringargs[]){Addb=newAdd();Integera1=newInteger(1);Integera2=newInteger(2);Integera3=newInteger(3);System.out.println(b.sum(a1,a2,a3));}//方法main结束}//类Add结束类Add说明publicclassAdd等价于publicclassAdd4、lang.Object>创建Add对象时,采用newAdd<实际类型>,这里实际类型应是类java.lang.Object的子类,如:Addb=newAdd();调用Add的成员方法sum,实际上是调用成员方法publicStringsum(Integera1,Integera2,Integera3)例2:采用第二种形式定义变量类型的泛型程序interfaceInterface{publicintsum(Ta1,Ta2,Ta3);}//接口5、Interface结束publicclassAddInterfaceimplementsInterface{publicintsum(Ta1,Ta2,Ta3){intb1=a1.intValue();intb2=a2.intValue();intb3=a3.intValue();return(b1+b2+b3);}//方法sum结束publicstaticvoidmain(Stringargs[]){AddInterfaceb=newAddInterface6、er>();Integera1=newInteger(1);Integera2=newInteger(2);Integera3=newInteger(3);System.out.println(b.sum(a1,a2,a3));}//方法main结束}//类AddInterface结束例3:采用第三种形式定义变量类型的泛型程序classC1{publicvoidmethodA(){System.out.print("A");}//方法methodA结束}//类C1结束interfaceC2{publicvoidmethodB7、();}//接口C2结束classC3extendsC1implementsC2{publicvoidmethodB(){System.out.print("B");}//方法methodB结束}//类C3结束classC4{publicvoidmethodD(Tt){t.methodA();t.methodB();}//方法methodT结束}//类C4结束publicclassGenericity{publicstaticvoidmain(Stringargs[]){C4a=newC8、4();a.methodD(newC3());}//方法main结束}//类Genericity结束5.2枚举创建枚举类型的主要目的是为了定义一些枚举常量。枚举的基本定义格式:[枚举类型修饰词列表]enum枚举类型标识符{枚举常量1,枚举常量2,......,枚举常量n}枚举类型修
4、lang.Object>创建Add对象时,采用newAdd<实际类型>,这里实际类型应是类java.lang.Object的子类,如:Addb=newAdd();调用Add的成员方法sum,实际上是调用成员方法publicStringsum(Integera1,Integera2,Integera3)例2:采用第二种形式定义变量类型的泛型程序interfaceInterface{publicintsum(Ta1,Ta2,Ta3);}//接口
5、Interface结束publicclassAddInterfaceimplementsInterface{publicintsum(Ta1,Ta2,Ta3){intb1=a1.intValue();intb2=a2.intValue();intb3=a3.intValue();return(b1+b2+b3);}//方法sum结束publicstaticvoidmain(Stringargs[]){AddInterfaceb=newAddInterface6、er>();Integera1=newInteger(1);Integera2=newInteger(2);Integera3=newInteger(3);System.out.println(b.sum(a1,a2,a3));}//方法main结束}//类AddInterface结束例3:采用第三种形式定义变量类型的泛型程序classC1{publicvoidmethodA(){System.out.print("A");}//方法methodA结束}//类C1结束interfaceC2{publicvoidmethodB7、();}//接口C2结束classC3extendsC1implementsC2{publicvoidmethodB(){System.out.print("B");}//方法methodB结束}//类C3结束classC4{publicvoidmethodD(Tt){t.methodA();t.methodB();}//方法methodT结束}//类C4结束publicclassGenericity{publicstaticvoidmain(Stringargs[]){C4a=newC8、4();a.methodD(newC3());}//方法main结束}//类Genericity结束5.2枚举创建枚举类型的主要目的是为了定义一些枚举常量。枚举的基本定义格式:[枚举类型修饰词列表]enum枚举类型标识符{枚举常量1,枚举常量2,......,枚举常量n}枚举类型修
6、er>();Integera1=newInteger(1);Integera2=newInteger(2);Integera3=newInteger(3);System.out.println(b.sum(a1,a2,a3));}//方法main结束}//类AddInterface结束例3:采用第三种形式定义变量类型的泛型程序classC1{publicvoidmethodA(){System.out.print("A");}//方法methodA结束}//类C1结束interfaceC2{publicvoidmethodB
7、();}//接口C2结束classC3extendsC1implementsC2{publicvoidmethodB(){System.out.print("B");}//方法methodB结束}//类C3结束classC4{publicvoidmethodD(Tt){t.methodA();t.methodB();}//方法methodT结束}//类C4结束publicclassGenericity{publicstaticvoidmain(Stringargs[]){C4a=newC
8、4();a.methodD(newC3());}//方法main结束}//类Genericity结束5.2枚举创建枚举类型的主要目的是为了定义一些枚举常量。枚举的基本定义格式:[枚举类型修饰词列表]enum枚举类型标识符{枚举常量1,枚举常量2,......,枚举常量n}枚举类型修
此文档下载收益归作者所有