千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > java枚举用法示例:java中for的用法示例

java枚举用法示例:java中for的用法示例

来源:千锋教育
发布人:xqq
时间: 2023-07-23 13:54:13 1690091653

在Java中,枚举是一种特殊的数据类型,可以用来定义一组有限的值。Java枚举可以让代码更加清晰、简洁,避免使用数字和字符串字面量的不便之处。在Java SE 5之后,枚举成为了语言本身的一个核心特性。

Java枚举使用关键字enum来定义,语法如下:

enum Name {    VALUE1,    VALUE2,    VALUE3,    ...}

其中,Name表示枚举名,VALUE1、VALUE2等表示枚举项。每个枚举项都是一个常量,可以被调用,例如Name.VALUE1。

Java枚举用法示例

Java枚举可以用来替代常量类,例如:

public class TimeConstants {    public static final int MINUTE = 60;    public static final int HOUR = MINUTE * 60;    public static final int DAY = HOUR * 24;}

使用Java枚举,可以这样定义:

public enum TimeConstants {    MINUTE(60),    HOUR(60 * MINUTE),    DAY(24 * HOUR);     private final int seconds;     private TimeConstants(int seconds) {        this.seconds = seconds;    }     public int getSeconds() {        return seconds;    }}

这样就可以写成TimeConstants.MINUTE.getSeconds()的形式,增加了代码的可读性和维护性。

Java枚举的高级用法

Java枚举还可以使用抽象方法,实现面向对象编程中的多态性。

public enum Color {    RED {        @Override        public String toString() {            return "红色";        }    },    GREEN {        @Override        public String toString() {            return "绿色";        }    },    BLUE {        @Override        public String toString() {            return "蓝色";        }    };     public abstract String toString();}

在这个示例中,每个枚举项覆盖了toString()方法,返回对应的颜色字符串。这样可以通过Color.RED.toString()等语句来获取颜色名称,而且还可以使用多态来实现更加灵活的代码。

Java枚举还可以实现接口,例如:

interface Shape {    double getArea();} enum Shapes implements Shape {    CIRCLE(5),    RECTANGLE(5, 10),    TRIANGLE(5, 10);     private final double[] args;     Shapes(double... args) {        this.args = args;    }     @Override    public double getArea() {        switch (this) {            case CIRCLE:                return Math.PI * Math.pow(args[0], 2);            case RECTANGLE:                return args[0] * args[1];            case TRIANGLE:                return args[0] * args[1] / 2;            default:                throw new IllegalStateException();        }    }}

这样定义之后,就可以通过Shapes.CIRCLE.getArea()等语句来获取不同形状的面积。

总结

Java枚举是一种强类型、有限、自给自足的数据类型,可以使用抽象方法、接口等高级特性。使用Java枚举可以简化代码、增加可读性和可维护性,是Java语言中的一个重要特性。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT
开班信息
北京校区
  • 北京校区
  • 大连校区
  • 广州校区
  • 成都校区
  • 杭州校区
  • 长沙校区
  • 合肥校区
  • 南京校区
  • 上海校区
  • 深圳校区
  • 武汉校区
  • 郑州校区
  • 西安校区
  • 青岛校区
  • 重庆校区
  • 太原校区
  • 沈阳校区
  • 南昌校区
  • 哈尔滨校区