Java可扩展枚举

米尔豪斯(Milhous):

有没有一种方法可以编写可以扩展的枚举。我有几种我想始终可以用于枚举的方法。例如,我对数据库字段使用枚举。我将实际的字段名称包括在数据库中。

public enum ORDERFIELDS
        {
            OrderID("Order_ID");
            private String FieldName;

            private ORDERFIELDS(String fname)
                {
                    this.FieldName = fname;
                }

            public String getFieldName()
                {
                    return FieldName;
                }
        } 
多纳尔:

如果我理解正确,那么您想做的是这样的:

public abstract class DatabaseField {
    private String fieldName;

    private DatabaseField(String fieldName) {
        this.fieldName = fieldName;
    }

    public String getFieldName() {
        return fieldName;
    }
}

然后定义您的枚举以扩展此类。但是,不幸的是,一个枚举不能扩展一个类,但是可以实现一个接口,因此,您目前可以做的最好的事情就是定义一个包含getFieldName()方法的接口,并让您的所有枚举都实现这个接口。

但是,这意味着您必须在所有枚举中重复执行此方法(以及其他方法)。这个问题中有一些建议可以减少这种重复。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章