今天就跟大家聊聊有关怎么在Java中实现枚举抽象方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
枚举类实现抽象方法
与常规抽象类一样,enum类允许我们为其定义抽象方法,然后使每个枚举实例都实现该方法,以便产生不同的行为方式,注意abstract关键字对于枚举类来说并不是必须的,举个栗子:
public enum GradeEnum {
//考试分数划分为A、B、C、D和E 五个等级
A("90~100") {
@Override
public String getGrade(String studentName) {
return studentName + "优秀";
}
}, B("80~89") {
@Override
public String getGrade(String studentName) {
return studentName + "良好";
}
}, C("70~79") {
@Override
public String getGrade(String studentName) {
return studentName + "中等" + getScore();
}
}, D("60~69") {
@Override
public String getGrade(String studentName) {
return studentName + "及格";
}
}, E("0~59") {
@Override
public String getGrade(String studentName) {
return studentName + "成绩很差";
}
};
private String score;
private GradeEnum(String score) {
this.score = score;
}
public String getScore() {
return this.score;
}
public abstract String getGrade(String studentName);
}
定义GradeEnum的时候,并未添加abstract关键字。
可以把 enum 类看成是一个普通的类,枚举类都可以定义一些属性和方法,不同之处是:enum 不能使用 extends 关键字继承其他类,因为 enum 已经继承了 java.lang.Enum(java是单一继承)。
成员方法可以直接操作成员变量,比如score,并且得到返回结果,静态方法是遍历各个实例使用其成员变量计算得到返回结果,方法过程都是根据成员属性进行计算。
1.SpringMVC,Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。2.Shiro,Apache Shiro是Java的一个安全框架。3.Mybatis,MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。4.Dubbo,Dubbo是一个分布式服务框架。5.Maven,Maven是个项目管理和构建自动化工具。6.RabbitMQ,RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。7.Ehcache,EhCache 是一个纯Java的进程内缓存框架。
看完上述内容,你们对怎么在Java中实现枚举抽象方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。