清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第11章 枚举类型

第11章 枚举类型 常数设置与枚举类型 定义枚举类型
第11章 • 枚举类型 – 常数设置与枚举类型 – 定义枚举类型

常数设置 可使用接口来定义操作时所需的共享常数 public interface ActionConstants public static final int TURN LEFT public static final int TURN RIGHT = 2i public static final int SHOT=3
常数设置 • 可使用接口来定义操作时所需的共享常数 public interface ActionConstants { public static final int TURN_LEFT = 1; public static final int TURN_RIGHT = 2; public static final int SHOT = 3; }

常数设置 public void someMethod () i doAction(Actionconstants. TURN RIGHT public void doAction(int action) switch(action) case actionconstants. TURN LEFT System.out. println("向左转") break case actionconstants. TURN RIGHT System.out. println("向右转"); break case actionconstants SHOOT System.out. print1n("射击") break;
常数设置 public void someMethod() { .... doAction(ActionConstants.TURN_RIGHT); .... } public void doAction(int action) { switch(action) { case ActionConstants.TURN_LEFT: System.out.println("向左转"); break; case ActionConstants.TURN_RIGHT: System.out.println("向右转"); break; case ActionConstants.SHOOT: System.out.println("射击"); break; } }

常数设置 使用类别来宣告的话 public class CommandTool public static final String ADMIN =onlyfun caterpillar admin"i public static final String DEVELOPER onlyfun. caterpillar. developer public void someMethod()( 如果常数只是在类别内部使用的话,就宣 告其为“ private”或是“ protected"就可以了 宣告为类别外可取用的常数,通常是与类别功 能相依的常数
常数设置 • 使用类别来宣告的话 • 如果常数只是在类别内部使用的话,就宣 告其为“private”或是“protected”就可以了 – 宣告为类别外可取用的常数,通常是与类别功 能相依的常数 public class CommandTool { public static final String ADMIN = "onlyfun.caterpillar.admin"; public static final String DEVELOPER = "onlyfun.caterpillar.developer"; public void someMethod() { // .... } }

枚举类型入门 要定义枚举类型是使用“enum”矢键词 public enum Action TURN LEFT, TURN R工GHT SHOOT 枚举类型骨子里就是一个类别,所以您编 译完成后,会产生一个 Action class档案
枚举类型入门 • 要定义枚举类型是使用“enum”关键词 • 枚举类型骨子里就是一个类别,所以您编 译完成后,会产生一个Action.class档案 public enum Action { TURN_LEFT, TURN_RIGHT, SHOOT }

枚举类型入门 public class EnumDemo t public static void main(string[] args) t doAction(action. TURN RIGHT)i public static void doAction(Action action) switch(action) case TuRN LeFt System.out. println("向左轉"); break case TURN right System.out. println("向右轉"); break case shoot System.out. println("射擊" break
枚举类型入门 public class EnumDemo { public static void main(String[] args) { doAction(Action.TURN_RIGHT); } public static void doAction(Action action) { switch(action) { case TURN_LEFT: System.out.println("向左轉"); break; case TURN_RIGHT: System.out.println("向右轉"); break; case SHOOT: System.out.println("射擊"); break; } } }

枚举类型入门 doAction0参数列的类型是Acon °如果对 doAction0方法输入其它类型的自变 量,编译程序会回报错误 如果您在" switch"中加入了不属于 Action中 枚举的值,编译程序也会回报错误
枚举类型入门 • doAction()参数列的类型是Action • 如果对doAction()方法输入其它类型的自变 量,编译程序会回报错误 • 如果您在"switch"中加入了不属于Action中 枚举的值,编译程序也会回报错误

枚举类型入门 public static void doAction(Action action) switch(action) i case TURN lefT System.out. print1n("向左转"); breaki case TURN right System.out. print1n("向右转"); break case shoot: System.out. println("射击 break case sTop://Acti○n中没有枚举这个值 System.out, print1n("停止"); break unqualified enumeration constant name required case SToP:
... 枚举类型入门 public static void doAction(Action action) { switch(action) { case TURN_LEFT: System.out.println("向左转"); break; case TURN_RIGHT: System.out.println("向右转"); break; case SHOOT: System.out.println("射击"); break; case STOP: //Action中没有枚举这个值 System.out.println("停止"); break; } } ... unqualified enumeration constant name required case STOP:

枚举类型入门 可以在一个独立的档案中宣告枚举值,或 是在某个类别中宣告枚举成员 private enum InnerAction (TuRN LEFT, TURN RIGHT, SHOOT)i public static void main(String[] args) doAction(InnerAction. TURN RIGHT public static void doAction (InnerAction action)
枚举类型入门 • 可以在一个独立的档案中宣告枚举值,或 是在某个类别中宣告枚举成员 private enum InnerAction {TURN_LEFT, TURN_RIGHT, SHOOT}; public static void main(String[] args) { doAction(InnerAction.TURN_RIGHT); } public static void doAction(InnerAction action) { … }

枚举类型入门 枚举类型本质上还是个类别 范例11.5的枚举宣告方式有些像在宣告「内 部类别」( Innerclass) 编译产生 EnumDemo2$ nnerAction class 与 EnumDemo2$1cass
枚举类型入门 • 枚举类型本质上还是个类别 • 范例11.5的枚举宣告方式有些像在宣告「内 部类别」(Innerclass) • 编译产生EnumDemo2$InnerAction.class 与EnumDemo2$1.class
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第10章 例外处理.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第9章 管理类别档案.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第8章 继承、多型.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第7章 封装.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第6章 字串.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第5章 数组.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第4章 从autoboxing、unboxing认识对象.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第3章 语法入门.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第2章 入门准备.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第1章 了解Java.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第1章 oracle数据库概述.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第16章 基于Oracle数据库的应用开发.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第15章 PLSQL程序设计.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第14章 SQL语言基础.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第13章 网络管理.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第12章 数据库备份与恢复.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第11章 安全管理.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第10章 模式对象.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第9章 数据库的启动与关闭.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第8章 数据库实例与操作模式.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第12章 泛型(Generics).ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第13章 对象容器.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第14章 输入、输出.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第15章 线程.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第16章 反射.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第17章 Annotation.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第18章 舍遗补缺.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第19章 文本编辑器.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第20章 JDBC入门.ppt
- 清华大学出版社:《java学习笔记》教学资源(PPT课件,JDK6课件和课本代码)第21章 Java SE6新功能简介.ppt
- 《C语言程序设计》课程教学资源(PPT课件)PPT课件 第五章 数组.ppt
- 南开大学:《上机试习题集—二级C语言程序设计》PDF电子书(编程和改错各100例).pdf
- 《Flash动画设计教程》PPT教学课件(共五章).ppt
- 陕西科学技术出版社:《计算机基础实用教程》PDF电子书(共六章).pdf
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第七章 系统设计.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第一章 绪论(主讲:郑莉).ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十章 C++标准模板库.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十一章 流类库与输入/输出.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十二章 异常处理.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十三章 MFC库与Windows程序开发概述.ppt