首页 > 【求助】怎样能根据当前类的父类中的方法获取到当前类的属性?

【求助】怎样能根据当前类的父类中的方法获取到当前类的属性?

因为最近项目中频繁使用到枚举,每个枚举中有两个字段 1,code 2,title ,有时需要根据code来获取对应的title
我之前的做法是这样,我先上代码

public static String getTitleByCode(int code){
        OrderStatusBean[] orderStatusBeanValues=OrderStatusBean.values();
        String currentOrderTitle="";
        for (int i = 0; i < orderStatusBeanValues.length; i++) {
            if(orderStatusBeanValues[i].getCode()==code){
                currentOrderTitle=orderStatusBeanValues[i].getTitle();
                break;
            }
        }
        return currentOrderTitle;
    }

但是现在项目里面有十几个枚举,每个枚举都要写一遍实在是太麻烦了,所以我想让这些枚举都继承一个父类,然后将这个方法写在父类里面,我再统一调用父类中公共的方法就行了。
但是:
在要在父类的方法中要获取到调用这个父类的子类的所有属性,这该怎么做呢??
不造我描述清楚了么。。。。


你的getTitleByCode方法是静态的,子类无法继承。有2种方法可以选择:

  1. getTitleByCode改为非静态的,同时values也改为非静态的。然后在子类中重写values方法即可

  2. 如果希望getTitleByCode仍然为静态方法,那就必然要增加一个参数,把当前枚举子类的类型或能区分类型的值传进去,然后根据类型来调用合适的values,只能这样了

【热门文章】
【热门文章】