黑马程序员技术交流社区
标题:
反射小结
[打印本页]
作者:
李计伟
时间:
2012-11-10 20:12
标题:
反射小结
反射
Class类java程序中的各个java类属于同一类事物,描述这类事物的java类名就是Class.
字节码是Class的对象.
Class.forName("java.lang.String")//获得字节码
类名.class //获得字节码
对象.getClass() //获得字节码
构造方法的反射
Constructor类
new String(new StringBuffer("abc"));
反射实现
Constructor con =String.class.getConstructor(StringBuffer.class)
String str =(String) con.newInstance(new StringBuffer("abc"))
成员变量的反射
Field 类
可见的成员变量
Student s =new Student(3,5);
Field field =s.getClass().getField("y");
fieid.get(s)//field不是对象身上的变量是类上的
私有的成员变量
Student s =new Student(3,5);
Field field =s.getClass().getDeclaredField("x");
fieid.setAccessible(true);//暴力取值
fieid.get(s)
成员方法的反射
Method类
Method methodCharAt = String.class.getMethod("charAt",int.class);
System.out.println(methodCharAt.invoke(str1,1));
作者:
许庭洲
时间:
2012-11-11 21:13
值得学习ing!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2