java反射机制
首先提一下静态语言,静态语言表示程序的结构在编译的时候就已经确定了,不能够改变,而动态语言相反,即可以改变,比如我可以删除某个函数。
java反射机制指的是在运行时可以获取到运行类的全部信息。并且能够创建一个对象,调用它的任意一个方法,这种动态获取信息的功能成为java的反射机制。java反射机制的应用
java的类型上的运用,java的类型分为编译时类型和运行时类型,编译时类型指的是你写代码的类型,运行时的类型可能不一样,例如PersonanewStudent();
编译时的类型是Person,运行时的类型是Student。
接受某个不确定的参数,在java中,可能你会接收一个不确定的参数,但是你无法调用它的相关方法,因为你不确定它的类型,接收的类型只能为Object,这时你只能在运行的时候通过发射解析它的类信息,然后去创建对象,然后它的一个方法。java反射API
反射API用来生成JVM中的类、接口或对象的信息。
1。Class类:反射的核心类,可以获取类的属性,方法等信息。
2。Field类:Java。lang。reflec包中的类,表示类的成员变量,可以用来获取和设置类之中的属性值。
3。Method类:Java。lang。reflec包中的类,表示类的方法,它可以用来获取类中的方法信息或者执行方法。
4。Constructor类:Java。lang。reflec包中的类,表示类的构造方法。反射的使用步骤
1。获取想要操作的类的Class对象,他是反射的核心,通过Class对象我们可以任意调用类的方法。
2。调用Class类中的方法,既就是反射的使用阶段。
3。使用反射API来操作这些信息。