getFields()获得某个类的所有的公共(public)的字段,包括父类。
getDeclaredFields()获得某个类的所有申明的字段,即包括public、private和proteced,
getDeclaredFields()获得某个类的所有申明的字段,即包括public、private和proteced,
但是不包括父类的申明字段。
同样类似的还有getConstructors()和getDeclaredConstructors(),
同样类似的还有getConstructors()和getDeclaredConstructors(),
getMethods()和getDeclaredMethods()。
双语言切换
public class MultiLang implements NoProguard { public String en; public String th; public String getText(){ String lang = Languages.getInstance().getLanguage();//获取系统语言
try{ Field[] fields = getClass().getDeclaredFields();//获取公共方法 for(Field field:fields){ if(field.getName().equals(lang)){ return (String) field.get(lang); } } } catch (Exception e){} return en; } @Override public String toString() { return "MultiLang{" + "en='" + en + '\'' + ", th='" + th + '\'' + '}'; } }