反射的概念
1、Reflection(反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法
2、加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完成的类的结构信息。可以通过这个对象看到类的结构,这个对象就像一面镜子,透过这个镜子看到类的结构,称之为“反射”
反射优点and缺点
优点:
可以实现动态创建对象和编译,体现出很大的灵活性
缺点:
对性能有影响
相关的API
- java.lang.Class:代表一个类
- java.lang.reflect.Method:代表类的方法
- java.lang.reflect.Field:代表类的成员变量
- java.lang.reflect.Constructor:代表类的构造器