关于java:反射

2次阅读

共计 952 个字符,预计需要花费 3 分钟才能阅读完成。

反射的介绍

JAVA 反射机制是在运行状态中,对于任意一个类,都可能晓得这个类的所有属性和办法;对于任意一个对象,都可能调用它的任意一个办法和属性;这种动静获取的信息以及动静调用对象的办法的性能称为 java 语言的反射机制。
要想解剖一个类, 必须先要获取到该类的字节码文件对象。而解剖应用的就是 Class 类中的办法. 所以先要获取到每一个字节码文件对应的 Class 类型的对象.

反射的应用

获取 Class 对象的三种形式

1.Object—>getClass
2. 任何数据类型包含根本数据类型都有一个动态的 class 属性
3. 通过 Class 类的静态方法:forName(String className)(罕用)

package com.cy;
public class StudentTest {public static void main(String[] args) {//getClass()形式
 Student student=new Student();
        Class stuClass=student.getClass();
        System.out.println(stuClass.getName());
        // 动态的 class 属性形式
 Class stuClass2=Student.class;
        System.out.println(stuClass2);
        System.out.println(stuClass==stuClass2);
        //3. 通过 Class 类的静态方法:forName(String className)(罕用)try {Class stuClass3=Class.forName("com.cy.Student");
            System.out.println(stuClass3);
            System.out.println(stuClass==stuClass3);
        } catch (ClassNotFoundException e) {e.printStackTrace();
        }
    }
}
class Student{}

留神:在运行期间,一个类,只有一个 Class 对象产生
三种形式罕用第三种,第一种对象都有了还要反射干什么。第二种须要导入类的包,依赖太强,不导包就抛编译谬误。个别都第三种,一个字符串能够传入也可写在配置文件中等多种办法

通过反射获取构造方法并应用

正文完
 0