java反射属于java中相对高级的部分,通俗来说,就是可以在程序进行时改变程序中存在的方法等,这种方式成为动态编译。
如果我们预先并不知道程序执行到这里时需要用到什么方法时,此时便应该想的java中的反射。
首先我们要知道什么是类对象,类对象,就是用于描述这种类,都有什么属性,什么方法的。
现在来看看应用:
如果你有一个对象定义为有两个方法
setImage1、setImage2、setImage3、setImage4、setImage5
如果要给Image1和Image2赋值,按照以前的方法是在程序中写五个set方法,但用户上传的图片数目是未知的,所以为了提高效率,我们可以先判断用户传的图片的数量,并在一个循环中执行 setImage+“i” 方法;
具体可参考:
for (int i=1,len=list.size(); i < len; i++) {//循环次数
//用类对象创建出对应的方法
Method method = Image.getClass().getMethod("setImage" + i, String.class);
method.invoke(Image, list.get(i));//执行该方法
}
这样就可以做到减少很多无用的判断代码,有利于程序的效率