反射操作,很好用 分享一下
?
import java.lang.reflect.*;public class Test {//反射属性的调用static public void field(){try{ Class clazz=Class.forName("dao.Users") ; Class cl[]=new Class[]{String.class,int.class} ; Object object[]=new Object[]{"北京鸟巢",2008} ; Constructor counstr= clazz.getDeclaredConstructor(cl) ; Object obj=counstr.newInstance(object) ; Field[] fie=clazz.getDeclaredFields() ; for(Field f:fie){ f.setAccessible(true) ; f.set(obj,"你好"); System.out.println(f.getName()+f.get(obj)) ; System.out.println(f.getModifiers()); f.setAccessible(false) ; }}catch(Exception e){e.printStackTrace() ;}}//反射方法的调用 static public void main(String[] args){ try{ Class clazz=Class.forName("dao.Users"); Object obj=clazz.newInstance() ; Method mdethod[]=clazz.getDeclaredMethods() ; for(Method mm:mdethod){ mm.setAccessible(true) ; Object obb[]=new Object[]{"方法的反射"} ; mm.invoke(obj,obb) ; System.out.println(mm.getName()) ; System.out.println(mm.getModifiers()) ; mm.setAccessible(false) ; } }catch(Exception e){ e.printStackTrace() ; } }}