黑马程序员技术交流社区

标题: 小知识: 反射方法举例 [打印本页]

作者: alee    时间: 2014-8-14 12:01
标题: 小知识: 反射方法举例
反射  类对象,类加载时把类的信息保存在jvm中就会产生一个相应的对象(记录类信息的对象),只要类对象存在则类信息就在
  获得类对象应用的三种方式:
           ①Class c1=ArrayList.class; ②Object l=new ArrayList();Class c2=l.getClass();
                ③String className="java.util.ArrayList"; Class c3=Class.forName(className);
                Class[] cs=c1.getInterfaces();//获得接口
                Class c=Animal.class;
                Field[] fs=c.getDeclaredFields();//获得属性的数组
                Method[] ms=c.getDeclaredMethods();//获得本类所有公私有的方法,getMethods()获得父类所有公开的方法
                Constructor[] cons=c.getDeclaredConstructors();//获得构造方法的数组
                Object o2=c.newInstance();//创建类的对象
                Method m1=c.getDeclaredMethod("study");//找到方法名是study的方法
                m1.setAccessible(true);//设置为可以调用
                m1.invoke(o2);//调用m1方法
                Method m2=c.getDeclaredMethod("study", String.class);
                m2.setAccessible(true);
                m2.invoke(o2,"CoreJava");//调用m2的方法,方法的参数是CoreJava






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2