Uauslman
2016-05-26 09:48
经常看到反射这个词,学习编程这几个月还没有碰到过,不知道到底起什么作用?
通常情况下,java程序能够运行,必须要让java类被虚拟机加载,如果不被java虚拟机加载,程序不能运行。运行的所有的程序都是在编译期的时候就已经知道了你所需要的那个类的已经被加载了。通过反射机制可以让程序在编译期间并不需要加载某个类,而是在程序运行的时候才加载。例如有两个程序员,一个程序员在写程序的时候,需要使用第二个程序员所写的类,但第二个程序员并没完成他所写的类。如果不使用发射机制那么可以程序变不能运行,但是
利用Java反射的机制,就可以让第一个程序员在没有得到第二个程序员所写的类的时候,来完成自身代码的编译。利用反射机制可以很灵活的对运行时已经加载到Java虚拟机当中的类信息进行检测。当然这种检测在对运行的性能上会有些减弱,所以什么时候使用反射,就要靠业务的需求、大小,以及经验的积累来决定。
增加程序的灵活性。
很少情况下是非用反射不可的。大多数情况下反射是为了提高程序的灵活性。
因此一般框架中使用较多。因为框架要适用更多的情况。对灵活性要求较高。
反射——Java高级开发必须懂的
151466 学习 · 335 问题
相似问题