在一个接口的内部,创建实现该接口的枚举,以此将元素进行分组,可以达到将枚举元素分类组织的目的。
举例:开发的APP需要接入支付功能(微信支付,支付宝),自己的系统中需要用枚举声明交易状态。但是微信与支付宝的交易状态是不一样的,因此可以这样做:
在TradeState接口的内部,创建实现该接口的枚举达到分组的目的
public interface TradeState {
enum WeiXinPay implements TradeState {
SUCCESS,PAYERROR,REFUND,NOTPAY,CLOSED,USERPAYING
}
enum AliPay implements TradeState {
WAIT_BUYER_PAY,TRADE_CLOSED,TRADE_SUCCESS,TRADE_FINISHED
}
}
public static void main(String[] args) {
TradeState weiXinPay = TradeState.WeiXinPay.SUCCESS;
TradeState aliPay = TradeState.AliPay.TRADE_SUCCESS;
}