如何在Java中利用枚举对接口进行统一管理

  介绍

这篇文章给大家介绍如何在Java中利用枚举对接口进行统一管理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

枚举公共接口

public  interface  IPairs, {   ,/* *   ,,*,返回枚举对象   ,,*,*/C 才能得到();   ,/* *   ,,*,返回枚举项的,钥匙   ,,*,*/K 才能;关键();   ,/* *   ,,*,返回枚举项的,价值   ,,*,*/V 才能;价值();   }

状态枚举类

public  enum  StatusEnum  implements  IPairs<整数,字符串,,StatusEnum>, {   残疾人才能(0,,“record  has  been  disabled"),   启用才能(1,“record  has  been  enabled"),   删除才能(9,“record  has  been  deleted")   ,,,   private 才能;int 代码;   private 才能;String  desc;   StatusEnum才能(int 代码,,String  desc), {   ,,,this.code =,代码;   ,,,this.desc =, desc;   ,,}   public 才能;StatusEnum  get (), {   ,,,return ;   ,,}   @Override才能   public 才能;Integer 关键(),{   ,,,return  this.code;   ,,}   @Override才能   public 才能;String 价值(),{   ,,,return  this.desc;   ,,}   }

响应枚举类

public  enum  ResponseEnum  implements  IPairs<整数,字符串,,ResponseEnum>, {   成功才能(10000年,“success"),   失败的才能(10001年,“failed")   ,,,   private 才能;int 代码;   private 才能;String  desc;   ResponseEnum才能(int 代码,,String  desc), {   ,,,this.code =,代码;   ,,,this.desc =, desc;   ,,}   public 才能;ResponseEnum  get (), {   ,,,return ;   ,,}   @Override才能   public 才能;Integer 关键(),{   ,,,return  this.code;   ,,}   @Override才能   public 才能;String 价值(),{   ,,,return  this.desc;   ,,}   }

代码验证

public  class  AnswerApp  {   public 才能;static  void  main (String [], args), {   ,,,调用(StatusEnum.ENABLED);   ,,,System.out.println ();   ,,,的反应(ResponseEnum.SUCCESS);   ,,}   ,,   private 才能;static  void 响应(IPairs 对),{   ,,,System.out.println (pairs.get (),==, ResponseEnum.SUCCESS);   ,,,System.out.println (MessageFormat.format(“关键:{0},,值:,{1},,,pairs.key (),, pairs.value ()));   ,,}   ,,   private 才能;static  void 调用(IPairs 对),{   ,,,System.out.println (pairs.get (),==, StatusEnum.ENABLED);   ,,,System.out.println (MessageFormat.format(“关键:{0},,值:,{1},,,pairs.key (),, pairs.value ()));   ,,}   }

程序运行结果

  关键:1,价值:record  has  been 启用   真正的   关键:10000年,,,的值:,成功

结论:

项目中使用同一接口管理枚举类,在方法参数中使用接口而不是用具体的枚举对象作为入参,可以一定程度上降低程序的耦合性

<强>补充:java中枚举类的两种接口的实现方法

和普通java类一样,枚举类可以实现一个或多个接口

若每个枚举值在调用实现的接口方法呈现相同的行为方式,则只要统一实现该方法即可。

若需要每个枚举值在调用实现的接口方法呈现出不同的行为方式,则可以让每个枚举值分别来实现该方法

1, enum关键字定义枚举类实现接口的情况

“java”   {interface 信息   void 才能显示();   }   {enum  Season1  implements 信息//用枚举才能关键字后,首先要把类里面定义的对象提到最前的面,将一些重复//,才能的前缀的去掉,每个对象之间要用逗号隔开,最后一个用分号//后才能面的就没有什么变化   ,,SPRING (“春天“,“春意暖暖“),   ,,SUMMER (“春天“,“春意暖暖“),   ,,AUTUMN (“春天“,“春意暖暖“),   ,,WINTER (“春天“,“春意暖暖“);   private 才能final  String  seasonName;   private 才能final  String  seasonDeac;   private 才能;Season1 (String  seasonName String  seasonDeac) {   时间=this.seasonDeac 才能;seasonDeac;   时间=this.seasonName 才能;seasonName;   ,,}   public 才能;String  getSeasonDeac (), {   ,,,return  seasonDeac;   ,,}   public 才能;String  getSeasonName (), {   ,,,return  seasonName;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在Java中利用枚举对接口进行统一管理