java枚举用法示例(java中for的用法示例)

什么是Java枚举

在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枚举还可以使用抽象方法,实现面向对象编程中的多态性。

java枚举用法示例(java中for的用法示例)

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语言中的一个重要特性。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javapeixunp5-2.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月25日 上午5:03
下一篇 2023年4月25日 上午5:03

猜你喜欢