2010年05月19日   头条, 码农之路   5,237 次浏览
有时候我们可能遇到这样的一种情况:有许多类他们的功能是相同的,只是他们的类名和方法名不同而已,而我们需要写一个共用的方法来实现调用这些类名不相同、方法名也不相同的功能,这时我们就需要用到JAVA的反射机制。
如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | public Object getResult(String className, String methodName, Map para) { Object o = Class.forName(className); Method method = null; Object result = null; try { method = o.getClass().getMethod(methodName, new Class[]{Map.class}); result = method.invoke(o, para); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } return result; } |
其实这就是一个共用的方法了,只要知道了类名和方法名,我们都可以调用。
怎么样,JAVA的反射机制很强大吧,其实JAVA的反射机制可以用在很多问题上,就靠大家平时去体味了。
>>> Hello World <<<
这篇内容是否帮助到你了呢?
如果你有任何疑问或有建议留给其他朋友,都可以给我留言。