反射

来源:互联网 发布:社交网络可视化工具 编辑:程序博客网 时间:2024/06/07 07:28

JAVA反射机制

是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制

其他语言没有这种特点。

在JDK中,主要由以下类来实现Java反射机制,这些类都位于java.lang.reflect包中

1)Class类:代表一个类

2)Field 类:代表类的成员变量(属性)

3)Method类:代表类的成员方法

4)Constructor 类:代表类的构造方法

5)Array类:提供了动态创建数组,以及访问数组的元素的静态方法

6)Properties类 主要用于读取Java的配置文件

反射机制获取类有三种方法

1 直接通过类名.Class的方式得到

2 通过对象的getClass()方法获取,这个使用的少(一般是传的是Object,不知道是什么类型的时候才用)

3 通过全类名获取,用的比较多,但可能抛出ClassNotFoundException异常


       Class类的newInstance()方法,创建类的一个对象。

  1. 使用Class类的newInstance()方法创建类的一个对象  
  2. 实际调用的类的那个 无参数的构造器(这就是为什么写的类的时候,要写一个无参数的构造器,就是给反射用的)  
  3.   一般的,一个类若声明了带参数的构造器,也要声明一个无参数的构造器

原创粉丝点击