Java反射概念思想

来源:互联网 发布:java 增量覆盖率 编辑:程序博客网 时间:2024/04/30 22:33

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

反射实现的步骤:

1.首先得到class这个类。

2.获取class对象(实例)。

3.然后就可以获得方法,属性等。

所有类的对象其实就是class的实例

实现放射的操作:

1.获得class这个类。有三种方法下面都会使用到。

    1.使用class类的forName();方法

    2.是使用  .class语法,例如String.class;

    3.使用对象的getClass()方法;

a) Class<?> classType = Class.forName("people");

调用Class类的静态的方法来实现

b) 得到 获得的class类的对象(实例)(使用无参的构造方法实现的方法有两个:

   1.Constructor cons = classType.getConstrucotor();

     Object obj = cons.newInstance(new Object[]{});

    2.Object obj = classType.newInstance();

2.若想通过类的带参数的构造方法生成对象,只能使用下面的这一种方法。

  Class<?> classType = People.class();

 Constructor cons = classType.getConstructor(new   Class[]{String.class, int.class});

 Object obj = cons.newInstance(new Object[]{"hello", 3});

如何调用类的方法在没有生成调用之前

1.首先得到class类这个类,

2.得到这个class类的对象(实例)

3.通过class这个类得到Method(class类中的方法)

4.得到这个方法的实例之后,调用方法的Invoke()方法,这个方法的作用就是调用,(吧生成类的实例和参数穿个这个方法就可以得到一个Object这个对象就是你要求的结果。

0 0
原创粉丝点击