首页 存档 技术 查看内容

JavaSE 学习参考:反射机制(1)

2018-3-30 13:00 |来自: 互联网 249 0

摘要: 点击上方“蓝字”关注本公众号JavaSE 学习参考:反射机制(1)○ 我们开发时常见的情况就是加载数据库驱动程序,考虑到跨数据库需要,有时用mysql,有时用oracle;通过如下的代码实现: Classc=Class.forName("数 ...

点击上方“蓝字”关注本公众号

JavaSE 学习参考:反射机制(1)

我们开发时常见的情况就是加载数据库驱动程序,考虑到跨数据库需要,有时用mysql,有时用oracle;通过如下的代码实现:

Classc=Class.forName("数据库驱动类全名");

通过驱动类的全类名让JVM在服务器中找到并加载这个类,这个动态性就体现出java的特性了。当程序在运行时,需要动态的加载一些类,这些类可能之前用不到所以不用加载到JVM,只有但用于时加载。

反射(Reflection)是Java中一种强大的特性工具,能够使开发人员很创建灵活的代码,这些代码可以在运行时态装配,不需要在组件与组件之间进行源代码链接。反射工具提供了动态获取类的信息以及动态调用对象的方法的功能。

反射机制主要提供了以下功能:

  • 在运行时判断任意一个对象所属的类;

  • 在运行时构造任意一个类的对象;

  • 在运行时判断任意一个类所具有的成员变量和方法;

  • 在运行时调用任意一个对象的方法;

  • 生成动态代理;

Java反射机制的实现要借助于4个类:

  • Class,

  • Constructor,

  • Field

  • Method

其中class代表的是类对象,Constructor-类的构造器对象,Field-类的属性对象,Method-类的方法对象,通过这四个对象我们可以粗略的看到一个类的各个组成部分。其中最核心的就是Class类,它是实现反射的基础,

示例:

public class Test {

public static void main(String[] args) throws Exception {

Test t = new Test();

System.out.println(t.getClass().getName());

}

}


声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部