基于java枚举类综合应用的说明
时间:2023-02-16 09:39:25
如下面代码以交灯为示例:
public class Test {
public static void main(String[] args) {
Trafficlight light = Trafficlight.RED;
System.out.println(light.time);
System.out.println(light.nextLigth());
// ordinal()方法返回枚举声明的顺序
System.out.println(light.ordinal());
// values()方法得到所有枚举类型的一个数组
for(Trafficlight light1:light.values()){
System.out.println(light1.name());
}
// valueOf()方法可以把字符串转换成相应的枚举对象
System.out.println(light.RED ==light.valueOf("RED"));
}
public enum Trafficlight {
GREEN(30) {
@Override
public Trafficlight nextLigth() {
return RED;
}
},
RED(30) {
@Override
public Trafficlight nextLigth() {
return YELLOW;
}
},
YELLOW(10) {
@Override
public Trafficlight nextLigth() {
return GREEN;
}
};
public abstract Trafficlight nextLigth();
private int time;
// 构造方法
private Trafficlight(int time) {
this.time = time;
}
public int getTime(){
return time;
}
}
}
代码中,可以看到GREEN,RED,YELLOW,分别是Trafficlight的一个子类,并作为它的成员变量。在Trafficlight有一个抽象方法nextLight(),在子类中是必须要实现的,所以@Override,另外它们也继承了父类的方法,所以可以调用父类的方法 getTiime(),由于父类Trafficlight中声明一个有参数的构造方法覆盖了无参的构造方法,所以构建子类时也必须要加上参数。
代码中light只是相当于一个父类的实例,用它可以得到各个成员变量的子类,调用各种方法,valueOf(String)方法可以将字符串转换成一个枚举。
标签:java,枚举类
0
投稿
猜你喜欢
C#常见算法面试题小结
2023-05-18 02:56:07
Spring Security添加验证码的两种方式小结
2021-08-05 17:24:25
Android实现缓存大图到SD卡
2022-07-13 07:13:50
Android getevent用法实例详解
2021-06-27 10:03:35
SpringBoot Web依赖教程
2023-01-06 21:51:50
基于Java语言实现Socket通信的实例
2021-08-06 17:17:50
Java中过滤器 (Filter) 和 拦截器 (Interceptor)的使用
2023-07-07 00:20:28
浅谈Java中replace与replaceAll区别
2021-07-05 12:56:56
Java Object定义三个点实现代码
2023-11-21 06:05:07
基于Java设计一个短链接生成系统
2023-08-15 09:23:37
File.createTempFile创建临时文件的示例详解
2022-05-03 08:52:41
C#应用BindingSource实现数据同步的方法
2021-07-09 16:15:48
Jenkins初级应用之Invoke Phing targets插件配置
2023-10-14 03:55:56
Android通过Handler与AsyncTask两种方式动态更新ListView(附源码)
2022-04-14 03:32:22
Java实现单向链表反转
2023-11-18 01:03:11
c#接口使用示例分享
2022-02-22 17:38:46
Java实现中英文词典功能
2021-06-20 18:25:56
Java常见面试题之多线程和高并发详解
2023-07-24 09:33:51
Android帧动画、补间动画、属性动画用法详解
2023-02-06 15:02:47
使用spring通过aop获取方法参数和参数值
2022-06-04 16:28:33