如果说,Java的反射功能只为了找到某个方法或属性包,类,方法,属性等要素。反射没什么用,对一个编程人员来说,干嘛要那么费劲去编写程序把这些东西打印出来?直接查文档不就行了吗?
但事实不是这样,反射很有用。对于系统类的元素,程序员可以查文档,那如果这个类不是系统类,而且这个类的代码我们不知道呢?这时,如果没有反射,我们只好狂抓了。
不过这种情况确实少见,如果反射只有这么点用,也不值得花那么多时间去学这个了。反射最强大的用途应该是框架了。
struts 框架原理:
控制器通过读取配置文件,获知应该执行哪些文件。再把执行的任务交给该文件进行逻辑处理,最后把结果返回客户端。
Java实现struts 框架原理:
struts 控制器类读取配置文件struts-config.xml,获取系统应该交给哪个模块运行。
附上张老师写的最简单的框架:
ReflectTest2.java
ReflectPoint.java
配置文件:config.properties
在配置文件中指定类名可以改变执行那个系统类