反射机制值得是可以在运行时加载、探知、私用编译期间完全未知的类。
我们可以利用反射机制,字节码操作获得类似动态语言的特性
动态语言:程序运行时,可以改变程序结构或变量类型(典型的语言有javascript、python、ruby等)java不是动态语言,但java有动态性。
程序在运行状态中,可以动态的加载一个只有名称的类,对任意一个已经加载的类,都能知道这个类的所有方法和属性。
如Class A = Class.forName(“com.bean.Student”);
加载完类之后,在堆内存中,就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以我们形象的称之为反射。
多的不说了,直接看代码吧:
主类
bean类