JavaSE——反射笔记

来源:互联网 发布:angular tooltips.js 编辑:程序博客网 时间:2024/06/07 01:23

获取class文件对象的方法
1.Object类的getClass()方法 s.class
2.数据类型的静态属性 .class String.class
3.Class类中的静态方法 Class.forName(“java.lang.String”)
public static Class forName(String className)

通过反射获取对象实例

new String()Class c=Class.forName("java.lang.String");Constructor con=c.getConstructor()  //无参构造Object obj=con.newInstance();String s=(String)obj;

好处:通过字符串得到对象

有参构造方法

Constructor con=c.getDeclaredConstructor(String.class);con.setAccessible(true)Object obj=con.newInstance("...");

Constructor newInstance()
Method invoke()
Field set(obj,value)