JAVA反射应该使用完整路径

我们都知道,在反射时,类路径必须使用完整路径,如com.leon.util.Obj,在代码开发过程中可能会遇到某一类的类,同时继承一个基类,此时,一个很明显的做法就是指定此基类名,然后在前面加上包路径,如

String clazzName = "Obj";// 可能来自配置文件等
Obj obj = (Obj)Class.forName("com.leon.util" + clazzName);

上面方法稍做修改即可满足使用要求,但是有一个致命问题,如果Obj 的包路径修改了,那就需要修改代码,才能满足使用条件。所以更科学的做法是:

String clazzName = "com.leon.util.Obj"; // 可能来自配置文件等
Obj obj = (Obj)Class.forName(clazzName);

小小的方法,需要用到时,就是很方便了

你可能感兴趣的:(java)