多平台统一管理软件接口,如何实现多平台统一管理软件接口
290
2024-02-01
我们之前提到在枚举中,可以实现java接口的操作。这里我们分为两种情况讨论,一种是单个接口,另一种是组织接口,也就是同时接入多个接口。下面我们就使用enum实现接口的注意点进行讲解,然后在实现单个接口和多个接口的两种情况,分别带来代码示例的展示。
1.说明
枚举类和普通类一样,可以实现一个或多个接口,枚举类实现接口分为两种情况。
注:
枚举可以实现接口,但不能继承;
枚举不能只实现接口的方法,还必要书写枚举中的量才可以。
2.实现接口(单个)
若枚举类的所有枚举对象在调用实现的接口方法时,呈现相同的行为方式,则只要统一实现该方法即可;此时与普通类实现接口一样,没有任何区别。
public interface Behaviour { void print(); String getInfo(); } public enum Color implements Behaviour{ RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this.index = index; } //接口方法 @Override public String getInfo() { return this.name; } //接口方法 @Override public void print() { System.out.println(this.index+":"+this.name); } }3.使用接口组织枚举(多个)
若枚举类的每个枚举对象在调用实现的接口方法时,需要呈现出不同的行为方式,则可以让每个枚举对象分别来实现该方法。
public interface Show { void show(); } //使用enum关键字定义枚举类 public enum Season2 implements Show{ //1.提供当前枚举类的对象,多个对象之间使用","隔开,末尾使用";"结束 //系统默认使用public static final修饰 SPRING("春天","鸟语花香"){ //每个枚举对象分别来实现该方法 @Override public void show() { System.out.println("春天是一个鸟语花香的季节!"); } }, SUMMER("夏天","夏日炎炎"){ @Override public void show() { System.out.println("夏天是一个夏日炎炎的季节!"); } }, AUTUMN("秋天","秋高气爽"){ @Override public void show() { System.out.println("秋天是一个秋高气爽的季节!"); } }, WINNER("冬天","寒风瑟瑟"){ @Override public void show() { System.out.println("冬天是一个寒风瑟瑟的季节!"); } }; //2.声明Season对象的属性,又因为枚举类对象的属性不应允许被改动, 所以应该使用 private final修饰 private final String seasonName; private final String seasonDesc; //3.枚举类的构造器只能使用 private 权限修饰符 // 私有化构造器是为了保证不能在类的外部创建其对象,否则就不能确定对象的个数 private Season2(String seasonName, String seasonDesc){ this.seasonName=seasonName; this.seasonDesc=seasonDesc; } //其他需求:获取枚举类对象的属性 //只需要提供属性的get方法即可,但是不能提供set方法,而且也不允许提供set方法,因为枚举类是不可变的常量类,不能被修改 public String getSeasonName() { return seasonName; } public String getSeasonDesc() { return seasonDesc; } } public class SeasonTest { public static void main(String[] args) { Season2 spring = Season2.SPRING; spring.show(); Season2 summer = Season2.SUMMER; summer.show(); Season2 autumn = Season2.AUTUMN; autumn.show(); Season2 winner = Season2.WINNER; winner.show(); } }运行结果:
以上就是java中enum实现接口的两种情况讨论,在接口之前,我们要判断接口的数量,然后对应不同的情况使用enum的方法去解决。
1、要求子系统的外部和内部通信必须通过统一的对象进行,门面模式提供高级接口,使子系统更容易使用。2、一般来说,就是设计一个类,专门用于对外服务,门面对象是外部访问子系统中唯一的通道。实例public class Fa ...
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~