Java反射

来源:互联网 发布:2017淘宝双11技术汇总 编辑:程序博客网 时间:2024/06/06 00:26
 Class反射(万事万物皆对象)
(1)Class c1=Foo.class()
(2)Class c2=foo1.getClass()
(3)Class c3=null;   c3=Class.forName("包名.Foo");
通过类类型创建该类的对象(需要强制类型转换)
Foo foo=(Foo)c1.newInstance();
获取类的方法
Method[] ms=c.getMethods()
  方法:getName()   getParameter()(得到参数列表的类类型)    getReturnType()
成员变量也是对象Field类封装了关于成员变量的操作
Field[] fs=c.getFields()   Field[] fs=c.getDeclareFields()
构造函数也是对象Constructor中封装了构造函数的信息

方法的反射
1)如何获取某个方法
   方法的名称和方法的参数列表才能确定唯一的方法
2)方法反射的操作
method.invoke(对象,参数类型1,参数类型2.。。。)
例:Method m=c.getMethod("print",int.class,int.class)
a1.print(10,20);========m.invoke(a1,10,20)