反射机制是java中非常强大的一个功能,之前我介绍了如何获得Class/Field/Method/Constructor对象,今天就来讲一讲获得的这些对象应该如何使用.
创建对象实例
我们可以通过两种反射机制的方法来创建对应类的实例
- Class对象调用newInstance()通过无参构造器创建对象实例,返回的是Object类型对象(相当于User对象向上自动转型了)
- Constructor对象调用newInstance(Object… initargs) 通过指定参数构造器创建对象实例,返回的也是Object类型对象
首先新建一个实验用的User类对象
public class User {
private int userId; //注意 这个成员变量都是私有的 在之后会用到暴力访问
public String name;
private void show() { //注意 show()为私有方法 在之后会用到暴力访问
System.out.println("私有方法");
}
public User(int userId, String name) {
this.userId = userId;
this.name = name;
}
public User() {
}
public int getUserId() {
return userId;
}
public void setuserId(int userId) {
this.userId = userId;
}
public String getName() {
return name;
}
@Override
public String toString() { //重写了toString方法 以便打印对象属性
return "User [userId=" + userId+ ", name=" + name + "]";