Java 反射机制实现原理
反射机制概述
-
反射机制,是在程序运行时动态的加载类并获取其详细信息,从而操作类或类的属性与方法,一般情况下,一个对象的类型都是在编译期确定的,而通过反射调用的对象其类型在编译期是未知的,所以我们可以通过反射机制动态的调用一个未知类型的方法/属性
反射机制的原理
-
在我们程序运行过程中,Java 编译器会在编译过程中,通过类加载器将编译完成的.class文件加载到JVM内存中,而反射机制便是通过这些.class进行反编译,从而动态的创建与调用对象
反射机制优缺点
-
优点:可以在运行时动态的获取类的相关信息,这样更加方便我们做一些扩展功能,更加贴切的面向对象思想 缺点:通过反编译创建的对象,会更加消耗一定的系统资源,另外反射机制可以无限制的调用类内部的私有方法,这样便破坏了类的安全机制
反射机制的使用
-
创建实体类
-
使用 类.class 创建对象
-
Class.forName(“类的完整路径地址:包名+类名”)
-
通过对象获取.class
-
调用有参构造函数
-
获取属性信息
-
给私有属性赋值
-
获取方法
-
调用私有方法
-
通过反射机制越过泛型检查
下一篇:
java 实现根据学号搜索学生信息