反射机制

反射

Java反射机制提供的功能

  • 在运行时判断任意一个对象所属的类
  • 在运行时构造任意一个类的对象
  • 在运行时判断任意一个类所具有的成员变量和方法
  • 在运行时获取泛型信息
  • 在运行时调用任意一个对象的成员变量和方法
  • 在运行时处理注解
  • 生成动态代理
package reflection;


public class Demo01 extends Object{
    public static void main(String[] args) throws ClassNotFoundException {
        //通过反射  获取类的对象
        Class C1 = Class.forName("reflection.Demo01$User");
        System.out.println(C1);

        //一个类在内存中,只有1个class对象
        //一个类被加载后,类的整个结构都会封装在class中
        Class C2 = Class.forName("reflection.Demo01$User");
        Class C3 = Class.forName("reflection.Demo01$User");
        Class C4 = Class.forName("reflection.Demo01$User");
        System.out.println(C2.hashCode());
        System.out.println(C3.hashCode());
        System.out.println(C4.hashCode());

    }

    public class User {
        private String name;
        private int id;
        private int age;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            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;
        }

        @Override
        public String toString() {
            return "User{" +
                    "name='" + name + '\'' +
                    ", id=" + id +
                    ", age=" + age +
                    '}';
        }

    }
}


posted @ 2022-02-24 17:01  小幼虫虫  阅读(28)  评论(0)    收藏  举报