A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© alee 中级黑马   /  2014-8-14 12:01  /  969 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

反射  类对象,类加载时把类的信息保存在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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马