要理解反射首先要懂得什么是静态和动态语言。
反射的小案例测试
//什么是反射
public class Demo1 extends Object{
public static void main(String[] args) throws ClassNotFoundException {
//通过反射获取类class对象
Class c1 = Class.forName ("注解和反射.反射.反射概述.run");
System.out.println (c1);
Class c2 = Class.forName ("注解和反射.反射.反射概述.run");
Class c3 = Class.forName ("注解和反射.反射.反射概述.run");
Class c4 = Class.forName ("注解和反射.反射.反射概述.run");
//一个类在内存中只有一个Class对象
//一个类被加载后,类的整个结构都会被封装在Class对象中。
System.out.println (c2.hashCode ());
System.out.println (c3.hashCode ());
System.out.println (c4.hashCode ());
}
}
//实体类:pojo, entity
class run {
private String name;
private int id;
private int age;
//无参构造
public run() {
}
//有参构造
public run(String name,int id ,int age) {
this.name = name;
this.id = id;
this.age =age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//toString
@Override
public String toString() {
return "run{" +
"name='" + name + '\'' +
", id=" + id +
", age=" + age +
'}';
}
}