Java将对象转换为Class如何?

lac*_*cas 0 java typeconverter

我的代码是:

public static Object mylang;

public static class lang_eng {
        public static final String x="Refreshing..."; 
}
public static class lang_de {
        public static final String x="Refreshing..."; 
}
Run Code Online (Sandbox Code Playgroud)

...

   if (LANG.equals("1")) {
        mylang=(lang_eng)new Object();
    } else {
        mylang=(lang_de)new Object();
    }
Run Code Online (Sandbox Code Playgroud)

但是当我参考时mylang.x,我得到:"x无法解决或不是一个字段"

这是什么解决方案?

Boz*_*zho 7

这不是面向对象编程的工作方式.

如果你想要LangEng(不是在Java中,标准命名约定使用CamelCase,而不是underscore_separation),那么你必须使用它来实例化它new LangEng().但即便如此,您也无法访问x.

在这种情况下,您可以做的是使用方法定义接口,getX()并让两种语言实现它.然后你可以拥有Language mylang.

更重要的是 - 将此方法用于i18n并不是一个好主意.更好用java.util.ResourceBundle