您现在的位置是:课程教程文章
java枚举中添加抽象方法
2023-12-15 21:19课程教程文章 人已围观
-
30个实战项目彻底掌握原生JS(DOM操作/高阶
30个实战项目彻底掌握原生JS(DOM操作/高阶部分项目效果展示... -
搭建Java学生选课系统【附源码】(毕设)
搭建Java学生选课系统【附源码】(毕设)本课程演示的是一套 基于JavaWeb实现的学生选课系统 ,主要针对计算机相关专业... -
了解什么是 Javaweb网站后台管理系统(集
了解什么是 Javaweb网站后台管理系统(集主要讲解基于javaweb的后台管理系统:集成网站后台和商城后台 主要讲解各个模... -
《数学分析中的典型问题与方法》
《数学分析中的典型问题与方法》1.本课程为数学系考研强化课程,题目有一定的难度,故需要同学们的坚持和耐...
在对抽象方法的使用时,因为只是对方法的一种定义,应用到具体的实例处理上,细节方法会不太理想。这里我们可以结合枚举的优势,以抽象方法作为外在条件,枚举作为内部方法的细化对程序进行操作。下面我们就抽象方法概念、格式简单介绍,然后结合枚举的方法为带来带来实例讲解。
1.抽象方法概念
使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。
2.抽象方法格式
访问修饰符 abstract 返回类型 方法名 (参数列表)
3.枚举实现抽象方法实例
如果写抽象方法,枚举类的所有实例必须实现抽象方法。MONDAY本身就是一个AbstractWeek对象的引用。在初始化这个枚举类的时候,等同于执行的是AbstractWeek MONDAY= new AbstractWeek(0,"星期一")。然后用匿名内部类的方式实现getNextDay()。
/** * 枚举类可以有抽象方法,但是必须在它的实例中实现 */ public enum AbstractWeek { MONDAY(0,"星期一") { @Override public AbstractWeek getNextDay() { return TUESDAY; } }, TUESDAY(1,"星期二") { @Override public AbstractWeek getNextDay() { return WEDNESDAY; } }, WEDNESDAY(2,"星期三") { @Override public AbstractWeek getNextDay() { return THURSDAY; } }, THURSDAY(3,"星期四") { @Override public AbstractWeek getNextDay() { return FRIDAY; } }, FRIDAY(4,"星期五") { @Override public AbstractWeek getNextDay() { return SATURDAY; } }, SATURDAY(5,"星期六") { @Override public AbstractWeek getNextDay() { return SUNDAY; } }, SUNDAY(6,"星期日") { @Override public AbstractWeek getNextDay() { return MONDAY; } }; private int num; private String desc; AbstractWeek(int num,String desc) { this.num = num; this.desc=desc; } //一个抽象方法 public abstract AbstractWeek getNextDay(); public static void main(String[] args) { String nextDay=AbstractWeek.MONDAY.getNextDay().toString(); System.out.println(nextDay); } }
编译后所有实例都会成为内部类,相当于每个实例用匿名内部类的形式实现getNextDay的方法。如:
AbstractWeek MONDAY= new AbstractWeek (){ @Override public AbstractWeek getNextDay() { return TUESDAY; } };
以上就是在java枚举中添加抽象方法的使用,这里我们结合了两者的优势,对程序实例完成最终的处理。如果对抽象方法使用有一定要求的,可以结合枚举来解决。
课程教程:java枚举中添加抽象方法下一篇:没有了