java 反射

1. Java 获取反射的三种方式

  • 通过new 对象实现反射机制
  • 通过路径实现发射机制
  • 通过类名实现反射机制
 // 获取 反射机制三种方法
    public static void main(String[] args) throws ClassNotFoundException {
        // 方式一(通过建立对象)
        Student stu = new Student();
        Class aClass1 = stu.getClass();
        // 方式二 (通过路径)
        Class aClass2 = Class.forName("com.scdzyc.utils.Student");
        // 方式三 (通过类名)
        Class aClass3 =  Student.class;

        System.out.println(""+ aClass1 + aClass2 + aClass3);
    }

 

2. Java 反射机制

  java 反射机制是在运行状态中,对于任意一个类,都能够获得这个类的所有属性和方法,对于任意一个对象都能调用它的任意一个属性和方法。这种在运行时动态的获取信息以及动态调用的方法的功能称为 java的反射机制

  Class 类与 java.lang.reflect 类库一起对反射的概念进行了支持,该类库包含了Field,Method,Constructor类(每个类都实现了Member接口)。这些类型的对象是由JVM 在运行时创建的,用以表示未知类里对应的成员

  这样你就可以使用 Constructor 创建新的对象,用get() 和 set() 方法读取和修改与Field 对象关联的字段,用invoke() 方法调用 Method 对象关联的方法。另外,还可以调用getFields(),getMethods() 和getConstructors() 等很便利的方法,以返回表示字段,方法,以及构造器的对象的数组。这样匿名对象的信息就能在运行时被完全确认下来,而在编译时不需要知道任何事情

posted on 2020-08-12 16:47  未知不知  阅读(107)  评论(0)    收藏  举报