Java反射机制是在运行状态中,对于任意一个类,都能知道此类的所有属性和方法;对于任意一个对象,都能够调用此对象的任意方法和属性;动态获取信息以及动态调用对象方法的功能。简单说,反射机制就是指程序在运行时能够获取自身信息。
Java反射机制大大提高了系统的灵活性和扩展性,代码运行时装配,无需在组件之间进行源代码链接的特性更易实现面向对象。
但是反射也会消耗一定的系统资源,在不需要动态创建对象时,反射所占资源就造成了资源浪费。另外反射调用方法时可忽略权限检查,获取其类的私有方法和属性,因此可能会破坏类的封装型而导致安全问题。