先说说我对反射的认识: 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有 一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对 象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以, 我们形象的称之为:反射
这章节学的属实不好,我就用老师的代码和自己的理解完成这篇,直接上代码
1. 这段代码要说明类加载了一次,创建新对象创建几次就是几次
public class demo {
public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
User yang = new User(1, 2, "yang");
User yang1 = new User(1, 3, "yang");
System.out.println(yang.hashCode());
System.out.println(yang1.hashCode());
Class class1 = yang.getClass();
Class class2 = yang1.getClass();
System.out.println(class1.hashCode());
System.out.println(class2.hashCode());
Class class3 = Class.forName("User");
User user=(User) class3.newInstance();
user.setAge(5);
user.setId(5);
user.setName("kaibo");
System.out.println(user);
}
}
class User{
private int id;
private int age;
private String name;
public User() {
}
public User(int id, int age, String name) {
this.id = id;
this.age = age;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", age&