• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

基于java枚举类综合应用的说明

java 搞代码 4年前 (2022-01-05) 28次浏览 已收录 0个评论

一个枚举类,可以看成包括它的一些子类(枚举)的一个类,而且枚举类的构造方法只能是私有的

如下面代码以交灯为示例:

代码如下:
public class Test {

     public static void main(String[] args) {
         Trafficlight light = Trafficlight.RED;来源gaodaimacom搞#^代%!码&网

         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枚举类综合应用的说明的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:基于java枚举类综合应用的说明

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址