您的位置:首页 > 编程语言 > Java开发

Java的反射基本概念、语法和应用

2016-10-04 21:39 288 查看
1、基本概念:

反射,一种计算机处理方式。是程序可以访问、检测和修改它本身状态或行为的一种能力。

万物皆对象,是Java.lang.Class类下的实例对象。

2、表示方法(语法):

(1)  Class c1=类名.class;

(2)  Class c2=类的对象.getClass();

(3)  Class c3=class.forName("类的全称");

** 

3、应用:

动态加载类:

(1)首先获取A类的类类型:Class c=class.forName("类的全称");

(2)建立一个统一的标准(接口)Interface A

(3)通过A类的类类型创建该类的实例化对象:A a=(A)c.newInstance();

(4)任意一类实现接口  Class B implements A{重写A接口的方法}

反射的操作:(method.invoke(对象,参数列表)),这里假设要获取一个名为add(int
a ,int b)的方法信息

         1、获取类的类类型:Class
c=类的对象.getClass();  

 2、 method m=c.getMethod("add",new Class[]{int.class,int.class});

这里也可写成:method m =c.getMethod("add",int.class,int.class);

假设本来是调用a1.add(10,10);

那么其反射操作是是利用m对象来进行方法调用。

则有:

Object
o=m.invoke(a1,new Object[]{10,10});或者写成:Object o=m.invoke(a1,10,10);

4、反射的总结:

反射是程序可以访问、检测和修改它本身状态或行为的一种能力。最重要的是动态加载类,可以获取类、方法、成员变量和构造函数的信息,还可通过反射操作对类的运行绕过编译。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 反射