Java 反射再遇见

Class class3= Class.forName(“com.jvm.Person”);
Person person2=(Person) class3.newInstance();
上述建立person类的实例对象是通过person类中的无参构造方法实现的,要想通过已经定义的有参构造方法建立person类的实例对象。
Java 反射再遇见_第1张图片
当获取构造方法的时候设置了形参的类型,再调用newInstance()的括号就要传入值,这样创建的类的实例对象就有初始值了。由于不能更改对私有成员变量进行操作,要对setAccessible(true)即可对私有成员变量进行更改,若为false的时候,就不能对私有成员变量进行更改。

通过反射对数组进行操作
Java 反射再遇见_第2张图片

通过反射对集合进行操作
Java 反射再遇见_第3张图片
invoke(Object obj,Object…args):obj是执行该方法的主题,args是执行该方法时传入的实参

获取泛型类型
getRawType()返回没有泛型信息的原始信息
getActualTypeArguments() 返回泛型参数的类型
Java 反射再遇见_第4张图片

你可能感兴趣的:(java)