概念:反射是Java程序开发语言的特征之一,它允许运行中的Java程序获取自身的信息,并操作类或者对象里面的内部属性。通过反射,我们可以在运行时获取程序对象的类型,动态的创建对象并调用其属性。
Java反射主要提供的功能(主要是运行时):
1、在运行时判断任意一个对象所属的类;
2、在运行时构造任意一个类的对象;
3、在运行时判断任意一个类所具有的成员变量和方法,包括私有方法;
4、在运行时调用任意一个对象的方法;
反射的主要用途:用来开发各种框架,动态的添加配置文件,使程序更加灵活。
注意事项
1、反射会额外消耗一定的系统资源,如果不需要动态地创建一个对象,那么就不要使用反射。
2、反射调用方法时可以忽略权限检查,因此可能会破坏封装性,导致安全问题。