java反射机制提供了如下的功能:在运行时能够判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任一对象的方法;在运行时创建新类对象。
反射机制的功能非常强大,但不能滥用。一是因为性能问题,Java反射机制中包含了一些动态类型,所以Java虚拟机不能够对这些动态代码进行优化。因此,反射操作的效率要比正常操作效率低很多。我们应该避免在对性能要求很高的程序或经常被执行的代码中使用反射。二是安全限制,使用反射通常需要程序的运行没有安全方面的限制,如果一个程序对安全性提出要求,则最好不要使用反射。
Java反射机制为程序很大程度上的提高了灵活性和扩展性,可以节省很多资源,反射机制是java这种动态语言一个关键。
欢迎大家批评指正,指出问题,谢谢!