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这个对象就是你要求的结果。