工作中为了不重复造轮子,使用java反射机制来调用已经写好的私有方法,防止代码冗余,反射是个不错的选择!
调用私有方法:getDeclaredMethod() //可以调用类中的所有方法(不包括父类中继承的方法)
代码:
Class cl=Class.forName("com.");//括号中是需要调用私有方法的类路径
Method method=cl.getDeclaredMethod("需要调用的私有方法名称",String.Class);//第二个参数指:该私有方法的参数数据类型,没有可以指定为null
method.setAccessible(true);//设置字段可访问,即暴力反射(这个必须要有的,不然会抛出 java.lang.IllegalAccessException 异常 )
Object obj=method.invoke(cl.newInstance(),你的需要给私有方法传的参数);
System.out.println(obj);
好了,到这里就结束了,以上只是使用java反射调用不同类中的私有方法,当然还会有其他的方法,自己动手试试吧!