【枚举】_枚举的作用笔记
来源:互联网 发布:淘宝怎么一键发布宝贝 编辑:程序博客网 时间:2024/05/23 23:16
【枚举】_枚举的作用笔记
本章目标:
掌握枚举的作用
可以使用enum关键字定义一个枚举类
枚举简介:
在JDK1.5之前,java可以有两种方式定义新类型:类和接口。对于大部分面向对象编程来说,这两种方式看起来似乎足够了。但是在一些特殊情况下,这些方法就不适合。例如,想定义一个Color类,它只能有Red、Green、Blue三种值,其它的任何值都是非法的,那么JDK1.5之前虽然可以构造这样的代码,但是要做很多的工作,也有可能带来各种不安全的问题。而JDK1.5之后引入了枚举类型(Enum)就能避免这些问题。
此时,程序限定了所能取的对象的范围,所以达到了枚举的功能,以上是一种枚举的方式,在最早的java开发中因为没有枚举这种概念,所以有时候也使用接口表示。
因为以上的所有取值是直接通过数字表示的,所以操作的时候也存在问题。
这样的操作并不会很明确,所以在JDK1.5之前如果要想实现枚举的操作,则就会比较麻烦。
定义一个枚举类型
在JDK1.5之后,引入了一个新的关键字————enum,可以直接定义枚举类型,格式如下:
[public] enum 枚举类型名称{
枚举对象1,枚举对象2,...,枚举对象n;
}
使用enum关键字定义。
枚举中有三个取值。
以后在取得的时候,只能从这三个内容取
因为枚举已经指定好了范围,所以可以使用foreach进行全部的输出,使用“枚举.values”的形式取得全部的枚举内容。
还可以直接将内容在Switch语句上使用。
常错误:需要非限定枚举常量名称 case RED:{
这时一定要看看Color.java中是否存在该值。
总结:
1、使用枚举可以限制取值的范围
2、使用enum关键字可以定义枚举
本章目标:
掌握枚举的作用
可以使用enum关键字定义一个枚举类
枚举简介:
在JDK1.5之前,java可以有两种方式定义新类型:类和接口。对于大部分面向对象编程来说,这两种方式看起来似乎足够了。但是在一些特殊情况下,这些方法就不适合。例如,想定义一个Color类,它只能有Red、Green、Blue三种值,其它的任何值都是非法的,那么JDK1.5之前虽然可以构造这样的代码,但是要做很多的工作,也有可能带来各种不安全的问题。而JDK1.5之后引入了枚举类型(Enum)就能避免这些问题。
class Color{ public static final Color RED = new Color("红色"); public static final Color GREEN = new Color("绿色"); public static final Color BLUE = new Color("蓝色"); private String name; private Color(String name){ this.name = name; } public void setName(String name){ this.name = name; } public String getName(){ return this.name; } public static Color getInstance(int i){ switch(i){ case 1:{ return RED; } case 2:{ return GREEN; } case 3:{ return BLUE; } default:{ return null; } } }};public class ColorDemo01{ public static void main(String args[]){ Color c1 = Color.RED; //取得红色 System.out.println(c1.getName()); Color c2 = Color.getInstance(3); System.out.println(c2.getName()); }}
此时,程序限定了所能取的对象的范围,所以达到了枚举的功能,以上是一种枚举的方式,在最早的java开发中因为没有枚举这种概念,所以有时候也使用接口表示。
interface Color{ public static final int RED = 1; //定义红色 public static final int GREEN = 2; //定义绿色 public static final int BLUE = 3; //定义蓝色}
因为以上的所有取值是直接通过数字表示的,所以操作的时候也存在问题。
interface Color{ public static final int RED = 1; //定义红色 public static final int GREEN = 2; //定义绿色 public static final int BLUE = 3; //定义蓝色}public class ColorDemo02{ public static void main(String args[]){ System.out.println(Color.RED+Color.GREEN); //颜色相加 }}
这样的操作并不会很明确,所以在JDK1.5之前如果要想实现枚举的操作,则就会比较麻烦。
定义一个枚举类型
在JDK1.5之后,引入了一个新的关键字————enum,可以直接定义枚举类型,格式如下:
[public] enum 枚举类型名称{
枚举对象1,枚举对象2,...,枚举对象n;
}
使用enum关键字定义。
public enum Color{ RED,GREEN,BLUE; //定义三个枚举的类型}
枚举中有三个取值。
以后在取得的时候,只能从这三个内容取
public class GetEnumContent{ public static void main(String args[]){ Color c = Color.BLUE; System.out.println(c); }}
因为枚举已经指定好了范围,所以可以使用foreach进行全部的输出,使用“枚举.values”的形式取得全部的枚举内容。
public class PrintEnum{ public static void main(String args[]){ for(Color c:Color.values()){ System.out.println(c); } }}
还可以直接将内容在Switch语句上使用。
public class SwitchPrintEnum{ public static void main(String args[]){ for(Color c:Color.values()){ print(c); } } public static void print(Color color){ switch(color){ case RED:{ System.out.println("红色"); break; } case GREEN:{ System.out.println("绿色"); break; } case BLUE:{ System.out.println("蓝色"); break; } default:{ System.out.println("未知颜色"); break; } } }}
常错误:需要非限定枚举常量名称 case RED:{
这时一定要看看Color.java中是否存在该值。
总结:
1、使用枚举可以限制取值的范围
2、使用enum关键字可以定义枚举
- 【枚举】_枚举的作用笔记
- 【枚举】_枚举的作用笔记
- 【枚举】_枚举的其他应用笔记
- 【枚举】_枚举的其他应用笔记
- 枚举---枚举的作用
- Java 枚举--枚举的作用
- 枚举类型的作用
- 枚举的作用介绍
- 枚举类型的作用
- 枚举类型的作用
- 枚举的作用
- java枚举的作用
- 枚举的作用
- enum 枚举的作用
- 枚举的作用
- 枚举 _枚举的其他应用
- 枚举 _枚举的其他应用
- 【枚举】_类集对Enum的支持笔记
- C++ STL学习笔记
- Android之Handler总结与Timer和TimerTask详解
- 线程同步的小例子(两个线程对一个List进行写操作)
- Python 之 Socket编程学习笔记
- bzoj 1717: [Usaco2006 Dec] Milk Patterns
- 【枚举】_枚举的作用笔记
- Camera系统中设置picture大小菜单的流程分析(二)
- objective-c 装箱和拆箱
- linux下scp命令详解
- 黑马程序员—懒汉式和饿汉式
- 健康生物钟,程序员健康生活规划
- Camera系统中设置picture大小菜单的流程分析(三)
- uva 11218 - KTV 简单回溯
- UIApplicationMain函数四个参数的含义