对于反射作用的理解

最近在重温反射的知识,收获还是很多的,感觉知识就是在不同的时间去看会有更深的理解

在刚学反射时无论是什么教材或者网上的资料都在讲述着反射的重要性,但是我们学习过程中却从来都用不到,相信很多朋友跟我一样,经常会产生“反射到底有什么用”的问题,我在重温了反射的知识点后,终于有一点理解了反射的作用,想来跟大家分享一下我对于反射的看法。

1·、大家都知道反射又称之为动态编译,网上关于动态编译的解释很多,我的理解就是代码可以不用那么死板了。

假如说现在我们有一个接口A,A有两个实现类B和C,我们在编写代码的过程中如果不用反射机制,就可能要将B、C的对象创建出来,以备后用,这还只是两个实现类,加入实现类很多怎么办,这时就需要反射机制了,因为反射所用代码为Class.forName("类的全类名"),这个类的全类名我们就可以通过配置文件传入,而且是在需要时才传入,使得代码变得灵活起来。

2、框架的底层大多使用了反射,这是为什么?

学过框架的都知道框架基本是使用配置文件来将我们的运行环境搭建好,这里就是反射的经典运用,因为对于我们的项目,各种配置(包括数据库连接,各种路径等)都是不同的,所以就需要反射的机制来动态的获取。

3、我们平常会用到反射吗?

其实对于这个问题我相信大部分人都有过迷惑,因为反射除了在学习数据库连接过程中使用了一下Class.forName()以外,好像基本就没用过了。不过请你相信反射肯定是有用的,比如说对于框架底层源码的理解等。

总结:反射的作用很大,需要我们去理解它,可以让我们更好的去阅读框架的底层代码。

posted @ 2019-07-27 10:48  爱跑步的大胖子  阅读(512)  评论(0编辑  收藏  举报