程序员人生 网站导航

初识Java反射机制

栏目:互联网时间:2014-10-08 20:58:34

JAVA中,一切皆是对象


Java反射机制就是在程序运行中,可以获得任意一个类的属性和方法。对 Class.forName("com.mysql.jdbc.Driver.class"),相信大家都不会陌生,直到学习Java反射机制,才恍然大悟,原来数据库连接中用到的这句活原来就是Java反射机制。


获取Class对象有三种方式:

一、Class c=Class.forName("");这也是在学习工厂模式时第一次接触到Java反射机制,然后从网上查阅Java反射机制。

二、Class c=new String("").getClass();

三、Class c=Shape.class


Java的类反射所需要的类Field、Constructor、Method、Class、Object

Field类:提供有关类或接口的属性的信息,以及对它的动态访问权限。反射的字段可能是一个类(静态)属性或实例属性,简单的理解可以把它看成一个封装反射类的属性的类。
Constructor类:提供关于类的单个构造方法的信息以及对它的访问权限。这个类和Field类不同,Field类封装了反射类的属性,而Constructor类则封装了反射类的构造方法。
Method类:提供关于类或接口上单独某个方法的信息。所反映的方法可能是类方法或实例方法(包括抽象方法)。 这个类不难理解,它是用来封装反射类方法的一个类。
Class类:类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。
Object类:每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。

Java反射机制用途

  1. 在运行时判断任意一个对象所属的类
  2. 在运行时构造任意一个类的对象
  3. 在运行时判断任意一个类所具有的成员变量和方法
  4. 在运行时调用任意一个对象的方法

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐