在上篇文章中,我们提及到了class.forName()这个代码,那么这是个什么呢?我们为什么要使用这种方式来加载Driver驱动呢?其实这就是java中的类加载器和反射,下面我们一起来看看。
反射机制
java的反射机制的目的就是要增加程序的灵活性,它能够有效的避免将程序写死在我们的代码中。
举个简单的例子:
- 不使用反射:实我们例化一个 A()对象, 先不去使用java的反射,new一个A(),这时候,我们如果想要去实例化别的类, 那么必须去修改源代码,并重新编译。
- 使用反射: class.forName("A").newInstance(); 而且这个类描述我们可以写到配置文件中,如 ***.xml配置文件, 这样如果想实例化其他类,只要修改配置文件的"类描述"就可以了实现,不需要再次去修改我们的代码并编译。
这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
获取Class对象的3种方式
三种方式的比较:
这里我们可以明显的看到,前两种方式,我们必须明确Person类型。
而第三种方式是,我们知道这种类型的字符串就行.这种扩展更强.我不需要知道你的类.我只提供字符串,按照配置文件加载就可以了。
反射获取构造方法
反射获取成员变量
放射获取成员方法
放射获取成员方法上面就是我们对Java中的反射的简单举例,明天我们将对java中同样重要的类加载器进行详细的说明。如果有帮助的大家,关注支持一下哟~
感谢坚持关注的朋友
世界很大,幸好有你
欢迎在评论区留下你的问题或困惑,我将每天与你分享我的观点和心得。
聚焦最新科技咨讯,探寻未来智能领域,我是女陶。