java反射机制详解
一、什么是反射 JAVA反射机制是在运行状态中,对于任何一个类,都能够知道这个类的所有属性和方法;对于任何一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 想要使用反射机制,就必须要先获取到该类的字节码文件对象(.class),通过字节码文件对象,就能够通过该类中的方法获取到我们想要的所有信息(方法,属性,类名,父类名,实现的所有接口等等),每一个类对应着一个字节码文件也就对应着一个Class类型的对象,也就是字节码文件对象。 获取字节码文件对象(获取class对象的方式)的三种方式: 1、根据类名:类名.class 2、根据对象:对象.getClass() 3、根据全限定类名:Class.forName(全限定类名) 二、通过反射机制获取信息 1、构造函数 //获取字节码文件 Class classs = Class.forName("com.zcbq.reflect.User"); //先获取有参构造,parameterTypes:表述参数列表,也可以不写 Constructor constructor = classs.getConstructor(int.class,String.class,int.class,String.class); //通过构造器来实例化对象,将实际的参数传进去 User user =