#### getDeclared系列方法说明
ClassNotFoundException
:类名与类路径书写错误时抛出“累无法找到”异常InstantiationException
:非法访问异常,当在作用域外访问对象方法或成员变量时抛出IllegalAccessException
:当对象无法被实例化,抛出“实例化异常”NoSuchMethodException
:没有找到与之对应的格式的方法InvocationTargetException
:当被调用方法的内部抛出了异常而没有被捕获时NoSuchFieldException
:没有找到成员变量时跑出的异常设置国家化配置文件config.properties
language=pers.hua.i18n.Zhcn
创建国家化接口并调用接口
public interface I18N {
public String say();
}
public class Zhcn implements I18N {
@Override
public String say() {
return "生命不息奋斗不止!";
}
}
创建Application
public class Application {
public static void main(String[] args){
public static void say() {
Properties properties = new Properties();
String configPath = Application.class.getResource("/config.properties").getPath();
try {
configPath = new URLDecode().decode(congigPath,"UTF-8");
properties.load(new FileInputStream(configPath));
String language = configPath.getProperty("language");
I18N i18n = (I18N)class.forName(language).newInstance();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}