java中反射

来源:互联网 发布:mac usb耗电量大 编辑:程序博客网 时间:2024/05/16 13:38

java中反射的基本用法,实例:

 

public static void testMethod()throws Exception{Student stu = new Student();System.out.println("11111"+stu);Class cls = stu.getClass();//1.用法与数组相同 length  //2.如果一个方法的参数列表中有可变参 ,则可变参放在参数列表的最后Method method = cls.getDeclaredMethod("setUsername",String.class);System.out.println("=="+cls);//3.执行 stu.setUsername("zhan");method.invoke(stu,"zhan");//Method getUsername = cls.getDeclaredMethod("getUsername");System.out.println(getUsername.invoke(stu)); //stu.getUsername()//获得cls这个对象所代表的类中所有的方法Method[] ms = cls.getDeclaredMethods();for(Method m:ms){//方法的名字String mName = m.getName();//方法的修饰符String mMod = Modifier.toString(m.getModifiers());//方法的返回类型String mReturn = m.getReturnType().getName();System.out.print(mMod+"\t"+mReturn+"\t"+mName+"(");//参数列表Class[] params = m.getParameterTypes();for(Class p:params){System.out.print(p.getName());}System.out.println(")");}}


 

 

0 0