Java反射机制一、概念理解反射是Java语言中十分重要的动态机制程序在运行过程中可以不用提前知晓类的具体信息直接动态获取类里面的构造方法、成员变量与成员方法同时还能创建对象、调用方法、修改属性打破了面向对象封装带来的使用限制让代码具备极强的灵活性。二、反射核心作用可以在运行时动态加载类读取类中所有成员信息无视访问权限调用私有方法与私有属性常被运用在各类主流框架底层设计中也是实现框架自动注入、配置读取的核心原理。三、基础反射代码实现javaclass User{private String username;private void showInfo(){System.out.println(“用户名”username);}}public class ReflectTest {public static void main(String[] args) throws Exception {//1.获取字节码Class对象Class? clazz User.class;//2.创建实例对象Object obj clazz.newInstance();//3.获取私有成员变量java.lang.reflect.Field field clazz.getDeclaredField(“username”);field.setAccessible(true);field.set(obj,“学生用户”);//4.获取并执行私有方法java.lang.reflect.Method method clazz.getDeclaredMethod(“showInfo”);method.setAccessible(true);method.invoke(obj);}}四、代码简要说明首先获取目标类的字节码对象这是反射操作的入口。通过字节码对象能够获取类中任意成员使用setAccessible开启权限访问即可操作私有成员。最后借助invoke执行方法完成整个反射调用流程。五、优缺点总结反射最大优势就是灵活性高适配各类动态开发场景是框架开发必备技术。缺点是运行效率偏低会破坏类的封装性随意访问私有成员容易造成程序安全隐患日常普通业务开发中尽量少用仅在框架设计与特殊需求场景下使用。
java学习笔记(5)
发布时间:2026/5/25 17:42:40
Java反射机制一、概念理解反射是Java语言中十分重要的动态机制程序在运行过程中可以不用提前知晓类的具体信息直接动态获取类里面的构造方法、成员变量与成员方法同时还能创建对象、调用方法、修改属性打破了面向对象封装带来的使用限制让代码具备极强的灵活性。二、反射核心作用可以在运行时动态加载类读取类中所有成员信息无视访问权限调用私有方法与私有属性常被运用在各类主流框架底层设计中也是实现框架自动注入、配置读取的核心原理。三、基础反射代码实现javaclass User{private String username;private void showInfo(){System.out.println(“用户名”username);}}public class ReflectTest {public static void main(String[] args) throws Exception {//1.获取字节码Class对象Class? clazz User.class;//2.创建实例对象Object obj clazz.newInstance();//3.获取私有成员变量java.lang.reflect.Field field clazz.getDeclaredField(“username”);field.setAccessible(true);field.set(obj,“学生用户”);//4.获取并执行私有方法java.lang.reflect.Method method clazz.getDeclaredMethod(“showInfo”);method.setAccessible(true);method.invoke(obj);}}四、代码简要说明首先获取目标类的字节码对象这是反射操作的入口。通过字节码对象能够获取类中任意成员使用setAccessible开启权限访问即可操作私有成员。最后借助invoke执行方法完成整个反射调用流程。五、优缺点总结反射最大优势就是灵活性高适配各类动态开发场景是框架开发必备技术。缺点是运行效率偏低会破坏类的封装性随意访问私有成员容易造成程序安全隐患日常普通业务开发中尽量少用仅在框架设计与特殊需求场景下使用。