Java 反射机制

Java 反射机制

一、简述

  Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。

摘自百度百科JAVA反射机制

二、反射机制的优缺点

优点: 动态的加载类,使代码变得更加灵活。
缺点:性能上比直接 Java 代码要慢,安全上反射可以忽略权限检查,因此可能会破坏封装性导致安全问题。

三、在那个包下,相关的主要的类

java.lang.reflect.*; 
// 主要的类:
java.lang.Class;
java.lang.reflect.Method;// 方法
java.lang.reflect.Constructor;// 构造方法
java.lang.reflect.Field;// 属性
java.lang.reflect.Modifier;// 方法的修饰符

基本用法参考:Java 反射机制 之 简单模拟反编译

四、在 Java 中获取 Class 的三种方式

		// 第一种:Class c = Class.forName("完整类名");
        // 这里就不作异常处理了
        // 默认初始化,不初始化就再添加一个 false 参数
        Class forName = Class.forName("com.hjx.反射.Person");

        // 第二种:Class c = 对象.getClass();
        Person person = new Person();
        Class getClass = person.getClass();

        // 第三种:Class c = 数据类型.class;
        // 需要导入相关的包
        Class aclass = Person.class;

五、关于反射机制使用合集

六、参考

Java基础篇:反射机制详解
什么是反射机制?反射机制的应用场景有哪些?

posted @ 2020-12-09 20:42  东郊  阅读(108)  评论(0)    收藏  举报