【Java精品源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Java精品源码-【精品】《网络程序设计》第5讲 - 大学课件的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
网络程序设计 Programming in
Java 陈 璐 西南大学 计算机与信息科学学院 Faculty of Computer Information Science Southwest-China University smileclswu.edu.cn2013-9-15 1第 5 章 泛型、枚举与for语句的简化写法 2013-9-15 2 本章总体纲要 泛型 枚举 for语句的简化写法2013-9-15 3 泛 型(课本158-164页) 泛型这个术语意味着“适用于许多类型”。
泛型在编 程语言中出现的最初目的是希望类和方法能够具备更 广泛的表达能力。
应用泛型还可以减少数据的类型转换,提高代码的运 行效率。
2013-9-15 4 泛型: 定义格式(课本158页) 类 类修饰词列表 class 类名 extends 父类名 implements 接口名称列表 类体 接口 接口修饰词列表 interface 接口名 extends 接口名称列表 接口体 2013-9-15 5 类型参数的定义格式(课本159页) 可以是3种形式中任何一种:① 类型变量标识符如:T② 类型变量标识符 extends 父类型如:T extends
java.lang.Number③ 类型变量标识符 extends 父类型1 父类型2 ... ... 父类型n如:T extends
java.lang.Number
java.io.Serializable
java.lang.Comparable2013-9-15 6 程序实例1(课本160页) J_Add.
java2013-9-15 7 程序实例2(课本161页) J_AddInterface.
java2013-9-15 8 程序实例3(课本163页) J_Genericity.
java2013-9-15 9 泛型方法(补充) 类中可以包含泛型方法,而这个方法所在的类可以是 泛型类,也可以不是泛型类。
编程原则:无论何时,只要能够满足需要,就应该尽 量使用泛型方法而不是泛型类。
程序实例:GenericMethods.
java2013-9-15 102013-9-15 11 本章总体纲要 泛型 枚举 for语句的简化写法2013-9-15 12 枚 举(课本164页) 关键字enum可以将一组具名的值的有限集合创建为 一种新的类型,而这些具名的值可以作为常规的程序 组件使用。
2013-9-15 13 枚举的基本定义格式(课本164页)枚举类型修饰词列表 enum 枚举类型标识符 枚举常量1 枚举常量2 ... ... 枚举常量n例如:enum E_SEASON 春季 夏季 秋季 冬季 // 枚举E_SEASON结束2013-9-15 14 枚举常量(课本164页) 枚举常量按惯例都用大写字母表示,如果在一个名字 中有多个单词,则用下划线将他们隔开。
例如:public enum Spiciness NOT MILD MEDIUM HOT FLAMING2013-9-15 15 枚举类型变量的声明格式 (课本165页) 声明枚举类型的引用变量:① 枚举类型标识符 枚举变量;② 枚举类型标识符 枚举变量1 枚举变量2 …… 枚举 变量n例如:E_SEASON s1E_SEASON s2 s3;E_SEASON sa // 枚举数组变量2013-9-15 16 创建枚举类型的实例(课本165页) 不能通过new操作符,而是直接通过枚举类型标识符 访问其枚举常量,将其赋值给枚举类型的引用变量。
例如:E_SEASON s E_SEASON.春季E_SEASON sa E_SEASON.春季 E_SEASON.夏季 E_SEASON.秋季2013-9-15 17 访问枚举常量(课本165页) 枚举常量有些类似于类的静态成员域,通过枚举变量 访问枚举常量与直接通过枚举类型标识符访问枚举常 量效果基本一样。
例如:E_SEASON s1 E_SEASON.春季s1.春季 E_SEASON.春季 // trues1 E_SEASON.春季 // trues1.夏季 E_SEASON.夏季 // trues1 E_SEASON.夏季 // false2013-9-15 18 类
java.lang.Enum 当创建enum时,编译器会自动生成一个继承自
java.lang.Enum的类。
2013-9-15 19 枚举成员方法(课本166页) 通过枚举变量/常量可以调用方法:① public String name② public String toString// 返回枚举变量/常量对应的字符串例如:E_SEASON s1 E_SEASON.春季System.out.println s1.name s1.toString E_SEASON.春季.name E_SEASON. 春季.toString // 输出: 春季春季春季春季2013-9-15 20