一、反射概念

  Reflection(反射)是被视为动态语言的关键,反射机制允许程序在运行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。

  通过下面的代码初步理解反射机制,通过这个大概理解反射机制,不需要每行代码都理解,下文会细讲。创建了一个Person类。

 1 public class Person {
 2 
 3     private String name;
 4     public int age;
 5 
 6     @Override
 7     public String toString() {
 8         return "Person{" +
 9                 "name='" + name + '\'' +
10                 ", age=" + age +
11                 '}';
12     }
13 
14     public String getName() {
15         return name;
16     }
17 
18     public void setName(String name) {
19         this.name = name;
20     }
21 
22     public int getAge() {
23         return age;
24     }
25 
26     public void setAge(int age) {
27         this.age = age;
28     }
29 
30     public Person(String name, int age) {
31 
32         this.name = name;
33         this.age = age;
34     }
35 
36     private Person(String name) {
37         this.name = name;
38     }
39 
40     public Person() {
41         System.out.println("Person()");
42     }
43 
44     public void show(){
45         System.out.println("你好,我是一个人");
46     }
47 
48     private String showNation(String nation){
49         System.out.println("我的国籍是:" + nation);
50         return nation;
51     }
52 }
Person.java

相关文章: