手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何理解java的反射机制

时间:2024-10-16 18:38:59

1、硬编码通过直接使用new的方式来实例化一个类。下图中,我使用传统的硬编码,直接实力化Person类,并去调用它。

如何理解java的反射机制

2、这中传统的做法在编码阶段就确定类,而且在这个阶段就实例化对象并调用,这中做法使得代码灵活度特别低,耦合度过高,不利于程序得开发,如游戏开发,不利于后期的维护及其会使得游戏的代码量成倍增加。

如何理解java的反射机制

3、而反射机制使用动态方式加在类,您只需要在配置文件中写入相关的参数,程序在运行的阶段,通过加芙囹买乐载配置文件即可动态的加载类,您也只亟冁雇乏需要修改配置文件,便可达到修改程序执行顺序及其选定特定执行方案的效果,这中方式特别有利于后器程序的维护,减少了运维的成本。

4、我下图所示的是一个连接数据库的配置文件,如果我后期需要更改到其他类型的数据库或是更改了密码及其帐号或是其他信息,那么我只需要更改这个配置文件即可,不需要到代码中去硬性的更改我的代码。

如何理解java的反射机制

5、反射机制允许在运行期间加载类并动态实例化, 反射对象调用方法。下图中,我通过Scanner来畛粳棠奈获得需要实例化的类,当然,我们实际开发中的做法不是通夸臾蓠鬏过诸如Scanner等方式来选择需要实例化的类,而是通过配置文件,在开发的时候,您直接将scanner换成配置文件即可。

如何理解java的反射机制

6、Class.forName()用于选择指定的类,而不是使用原来的“new+ 类名”的方式来实例化类。这里会出一个异常,当没有找到指定的类的时候,就会抛出这个异常。

如何理解java的反射机制

7、newInstance()用于实例化类。也就是说下图所示中的代码,想当于原来硬编码的一句“new + 类名”来实例化。

如何理解java的反射机制

8、我们使用下图所示的代码通过scanner方式来选择需要调用的方法。

如何理解java的反射机制

9、getDeclaredMethod()可以获取指定的方法,它有两个参数,第一个参数是方法名,第二个参数是方法的参数。如果没有参数,直接啼矍囫砒返回null即可,如果有参数,那么将参数放到Class[]{ }类型的数组中。如new Class[] {String.class,int.class}。注意class不能省略。

如何理解java的反射机制

10、接下来,您只需要调用方法即可,如果没有参数,如下图所示,如有参数,那么您将参数放到数组中。如我这里有参数,那么是这么传参数的new Object[] {"里斯",16}

如何理解java的反射机制

11、反射机制作为java编程的一大重点,您在学习的过程中,需要牢牢的记住它们,并学会如何使用反射机制。反射机制,将大大减少您的java编程量。

© 手抄报圈