Java05泛型、枚举与For语句的简化写法.ppt

上传人:ni****g 文档编号:570106189 上传时间:2024-08-02 格式:PPT 页数:20 大小:305.31KB
返回 下载 相关 举报
Java05泛型、枚举与For语句的简化写法.ppt_第1页
第1页 / 共20页
Java05泛型、枚举与For语句的简化写法.ppt_第2页
第2页 / 共20页
Java05泛型、枚举与For语句的简化写法.ppt_第3页
第3页 / 共20页
Java05泛型、枚举与For语句的简化写法.ppt_第4页
第4页 / 共20页
Java05泛型、枚举与For语句的简化写法.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《Java05泛型、枚举与For语句的简化写法.ppt》由会员分享,可在线阅读,更多相关《Java05泛型、枚举与For语句的简化写法.ppt(20页珍藏版)》请在金锄头文库上搜索。

1、信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学第五章第五章 泛型、枚举与泛型、枚举与forfor语句的简化写法语句的简化写法 信息类专业课程西北农林科技大学西北农林科技大学信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学5.1 泛型泛型( (genericitygenericity) )可提高程序代码的复用性减少数据的类型转换,以提高代码的运行效率 -在编译时强制使用正确的数据类型 通过给类或接口增加类型参数实现信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农

2、林科技大学泛型类和泛型接口的定义泛型类和泛型接口的定义类类类修饰词列表类修饰词列表 class 类名类名 extends 父类名父类名 implements 接口名接口名称列表称列表 类体类体接口接口修饰词列表接口修饰词列表 interface 接口名接口名 extends 接口名称列表接口名称列表 接口体接口体信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学类型参数的定义格式类型参数的定义格式类型变量标识符 等价于:类型参数变量标识符 extends Object类型变量标识符 extends 父类型 表明所定义的类型变量是其父类型的子类型,如

3、: public class Add 类型变量标识符 extends 父类型1 & 父类型2 & . . & 父类型n 各父类最多仅有1个类,其余为接口信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学例例1:1:采用第一种形式定义变量类型的泛型程序采用第一种形式定义变量类型的泛型程序public class Add public String sum(T a1, T a2, T a3) return(a1.toString( ) + a2.toString( ) + a3.toString( ); / 方法方法sum结束结束 public sta

4、tic void main(String args ) Add b = new Add( ); Integer a1 = new Integer(1); Integer a2 = new Integer(2); Integer a3 = new Integer(3); System.out.println( b.sum(a1, a2, a3) ); / 方法方法main结束结束 / 类类Add结束结束信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学类类AddAdd说明说明public class Add 等价于 public class Add

5、创建Add对象时,采用new Add,这里实际类型应是类java.lang.Object 的子类,如: Add b = new Add( );调用Add的成员方法sum,实际上是调用成员方法 public String sum(Integer a1,Integer a2,Integer a3)信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学例例2:2:采用第二种形式定义变量类型的泛型程序采用第二种形式定义变量类型的泛型程序interface Interface public int sum(T a1, T a2, T a3); / 接口Inter

6、face结束public class AddInterface implements Interface public int sum(T a1, T a2, T a3) int b1 = a1.intValue( ); int b2 = a2.intValue( ); int b3 = a3.intValue( ); return( b1 + b2 + b3 ); / 方法sum结束 public static void main(String args ) AddInterface b = new AddInterface( ); Integer a1 = new Integer(1);

7、Integer a2 = new Integer(2); Integer a3 = new Integer(3); System.out.println( b.sum(a1, a2, a3); / 方法main结束 / 类AddInterface结束信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学例例3:3:采用第三种形式定义变量类型的泛型程序采用第三种形式定义变量类型的泛型程序class C1 public void methodA( ) System.out.print(A); / 方法methodA结束 / 类C1结束interface C

8、2 public void methodB( ); / 接口C2结束class C3 extends C1 implements C2 public void methodB( ) System.out.print(B); / 方法methodB结束 / 类C3结束14.class C4 15. public void methodD( T t )16. t.methodA( );17. t.methodB( );18. / 方法方法methodT结束结束19. / 类类C4结束结束20.public class Genericity21. public static void main(St

9、ring args )22. C4 a = new C4( );23. a.methodD( new C3( ) );24. / 方法方法main结束结束25. / 类类Genericity结束结束信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学5.2 5.2 枚举枚举创建枚举类型的主要目的是为了定义一些枚举常量。枚举的基本定义格式:枚举类型修饰词列表 enum 枚举类型标识符 枚举常量1, 枚举常量2, . ., 枚举常量n枚举类型修饰词可以是public或缺省,但不能是protected、private、abstract信息科学(信息科学(

10、INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学例例4 4:定义枚举类型:定义枚举类型SeasonSeasonenum Season 春季, 夏季, 秋季, 冬季 / 枚举Season结束注:定义枚举变量,如:Season s;定义枚举数组变量,如:Season s ;Season.春季, Season.夏季, Season.秋季, Season.冬季为枚举常量信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学枚举变量和常量枚举变量和常量不能通过new运算符创建实例对象,可直接通过枚举类型标识符访问枚举变量,如: Seas

11、on s1= Season.春季;可通过枚举变量访问枚举常量,如 s.夏季=Season.夏季通过枚举常量,可调用成员方法 (1) public String name(); (2) public String toString(); 如:s1.name()或Season.春季.toString()都返回“春季”通过成员方法values获得该枚举类型的所有枚举变量,如:Season s2=Season.values();信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学enum Season 春季, 夏季, 秋季, 冬季 / 枚举Seaon结束pu

12、blic class EnumDemo public static void main(String args ) Season sa = Season.values( ); for ( int i=0; i sa.length; i+ ) switch(sai) case 春季: System.out.println(春季花满天); break; case 夏季: System.out.println(夏季热无边); break; case 秋季: System.out.println(秋季果累累); break; case 冬季: System.out.println(冬季雪皑皑); br

13、eak; / switch结构结束 / for循环结束 / 方法main结束 / 类EnumDemo结束在switch中使用枚举类型各分支语句的枚举常量前不能加点运算符以及枚举变量或枚举类型标识符,如不能写作:case Season.春季;case sai.春季;例例5 :枚枚举举的的应应用用程程序序信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学5.3 for5.3 for语句的简化写法语句的简化写法for语句的简化写法格式:for ( 类型 标识符 : 表达式 ) 语句或语句块如:如: Vector a = new Vector( ); a.

14、add( a ); a.add( b ); a.add( c ); for ( String c : a) System.out.print(c + , );信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学第一类第一类for语句简化写法的完整格式语句简化写法的完整格式for ( Iterator i=表达式表达式.iterator( ); i.hasNext( ); ) 类型类型 标识符标识符 = i.next( ); 语句或语句块语句或语句块 信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学例例6

15、 6:第一类:第一类forfor语句的简化写法程序语句的简化写法程序import java.util.Iterator;import java.util.Vector;public class VectorFor public static void main(String args ) Vector a = new Vector( ); a.add( a ); a.add( b ); a.add(c); for ( String c : a) System.out.print(c + , ); System.out.println( ); for ( Iterator i=a.iterato

16、r( ); i.hasNext( ); ) String c = i.next( ); System.out.print(c + , ); 信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学第二类第二类for语句简化写法的完整格式语句简化写法的完整格式类型 ca = 表达式;for (int i=0; ica.length; i+) 类型 标识符 = cai; 语句或语句块信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学例例7:for语句的简化写法在枚举类型中的应用程序语句的简化写法在枚举类型中的应用

17、程序enum Season 春季, 夏季, 秋季, 冬季 public class EnumFor public static void main(String args ) for ( Season c : Season.values( ) System.out.print(c + , ); System.out.println( ); Season ca = Season.values( ); for ( int i=0; i ca.length; i+ ) Season c = cai; System.out.print(c + , ); 信息科学(信息科学( INFORMATION S

18、CIENCE) 西北农林科技大学西北农林科技大学例例8:for语句的简化写法在整数数组中的应用程序语句的简化写法在整数数组中的应用程序public class IntegerFor public static void main(String args ) int a = 10, 20, 30, 40, 50; int s = 0; for ( int c : a) s += c; / 这里需要注意c是数组的元素,而不是相应的下标 System.out.println(数组a的元素之和等于 + s); s = 0; int ca = a; for ( int i=0; i ca.length; i+ ) int c = cai; s += c; System.out.println(数组a的元素之和等于 + s); 信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学作业作业教材教材P173 第第2题、第题、第4题题信息科学(信息科学( INFORMATION SCIENCE) 西北农林科技大学西北农林科技大学Thank You Any ?

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号