java入门学习(13)—枚举类定义及使用初步
来源:互联网 发布:域名301重定向新网 编辑:程序博客网 时间:2024/06/06 05:46
1、什么是枚举类?
枚举类是一种实例是已知而且固定的类。
2、如何定义一个枚举类型?以及初步使用?
语法:【修饰符】 enum 枚举名
{
//必须要在第一行立刻列出所有的枚举实例【其实是在调用无参数的构造器创建实例】
//属性【一般设置成private修饰的,不让别人随意修改】
//方法【方法可以抽象方法,然后在列出所有实例的时候用匿名类的方式,重写这个方法】
//构造器【只能是私有的,private修饰,因为实例已经固定,不能再随意创建】
//初始化块
//内部类
}
代码示例:
//模拟一个算术运算public enum OPeration{//列出所有实例,所有可能的实例(<strong>如果是普通方法,则应该写成:PLUS,SUB;</strong>)<strong>//实际是创建实例,相当于调用无参数的构造器创建实例MALE(),如果没有无参数的构造器的话要传入相应的参数</strong>//但是当枚举类是抽象类的时候,不能创建实例//这时需要立即创建匿名内部类的实例PLUS(){//匿名内部类需要重写抽象方法public double eval(double x,double y){return x+y;}},//注意此处是逗号SUB(){public double eval(double x,double y){return x*y;}};//如果已经有抽象方法,则枚举类就默认有abstract修饰。//此时该枚举类没有final修饰public abstract double eval(double x,double y);public static void main(String [] args){System.out.println(OPeration.PLUS.eval(2.3,5.6));}}
3、实现接口的枚举类?
[语法】:【修饰符】 enum 枚举类名 implements 父接口 { 实现类体 }
a、枚举类也可以实现一个或多个接口。
1、实现接口包含的所有抽象方法,此时的枚举是普通的枚举。
2、如果没有全部实现抽象方法,则在列出的枚举实例的时候要用到匿名类,并重写没有重写的抽象方法。
4、【注意点】
a、枚举类型都有一个value()方法,该方法返回所有的枚举实例。
b、在枚举类的类体力列出的实例中,前面的实例小,后面的大。
c、包含抽象方法的枚举类不用abstract显式的修饰,系统默认就是抽象的枚举类。
d、枚举类可以实现一个或者多个接口,但是默认继承的是java.lang.Enum类,而Object类是间接父类。
e、构造器只能是private修饰。
f、实例必须再第一行列出,默认添加了public static final 当含有抽象方法时,应该用匿名类重写抽象方法。
5、常用方法:
a、int compareTo();比较,在前返回负值,在后返回正值。
b.、String name():返回枚举的实例名称。
c、int ordinal();返回枚举实例所在的下标。
/
5
- java入门学习(13)—枚举类定义及使用初步
- java入门学习(12)—内部类的定义及使用初步
- java入门学习(11)—接口定义(interface)及使用(implements)
- Java中枚举类的定义及简单使用
- java 定义枚举+枚举使用
- java 入门学习(五) 怎么定义类,定义方法
- JAVA枚举类使用学习
- Java 枚举(enum)入门学习
- Java枚举的定义及用法
- C#特性学习与使用(为枚举定义Description)
- C#特性学习与使用(为枚举定义Description)
- C#特性学习与使用(为枚举定义Description)
- Java枚举(用Java普通类模拟枚举的实现原理及JDK枚举API使用示例)
- Java中枚举类的定义以及使用
- 使用枚举类定义常量
- JAVA枚举类入门
- java枚举类的定义
- java中定义枚举类
- Unity 项目结构规范
- java160118StringBufferDemo
- 重学C++ (六) 标准IO库
- java的MD5加密
- css中的文字高度居中
- java入门学习(13)—枚举类定义及使用初步
- 附录_Android权限大全
- ceph ( requests are blocked ) 异常解决方法
- jenkins changelog中文乱码问题解决方法
- Windows Server 2008 R2 服务器安装Orecle10G步骤
- Solr安装与配置
- 附录_Android中常用英文单词
- OC中的@property、@synthesize和@dynamic的用法
- 辣妈帮电脑版下载 v7.0.1 pc版