博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 枚举抽象方法_java枚举中添加抽象方法
阅读量:6513 次
发布时间:2019-06-24

本文共 1582 字,大约阅读时间需要 5 分钟。

9k=

在对抽象方法的使用时,因为只是对方法的一种定义,应用到具体的实例处理上,细节方法会不太理想。这里我们可以结合枚举的优势,以抽象方法作为外在条件,枚举作为内部方法的细化对程序进行操作。下面我们就抽象方法概念、格式简单介绍,然后结合枚举的方法为带来带来实例讲解。

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枚举中添加抽象方法的使用,这里我们结合了两者的优势,对程序实例完成最终的处理。如果对抽象方法使用有一定要求的,可以结合枚举来解决。

转载地址:http://zxifo.baihongyu.com/

你可能感兴趣的文章
Node.js股票模拟交易后台
查看>>
一次失败的破解经历
查看>>
android动画
查看>>
新书试读_信息系统项目管理师考试考点分析与真题详解
查看>>
MySQL 5.6 新增 binlog_row_image 较少DML操作产生的binlog体积
查看>>
LVS Nginx HAProxy 优缺点
查看>>
Spring Boot + Spring Security
查看>>
Android开发之开源框架OKHTTP的Get请求代码,得到json字符串方法
查看>>
images对象实现图片幻灯片
查看>>
Oracle 12c迁移pluggable database到异库
查看>>
Oracle 12c 日常维护
查看>>
安装某考试软件提示MDAC没有安装或者出错
查看>>
常用的东西一点一点记
查看>>
ios中播放gif动画
查看>>
Openfiler搭建存储
查看>>
我的友情链接
查看>>
使用webtatic源升级php
查看>>
CentOS内存占满后释放缓存
查看>>
查看,控制进程
查看>>
提高活动目录性能与安全的LSASS进程
查看>>