Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助Reflection API取得任何类的内部信息,并直接操作任意对象的内部属性和方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过镜子看到类的结构,所以,我们形象地称之为:反射。 获取Class实例的方式 加载到内存中的运行时类,会缓存一段时间,在此时间内,我们可以通过不同的方式获取此实例 方式1:调用运行时类的属性 Class c = Person.class; 方式2:通过运行时类的对象,调用getClass() Person p = new Person(10,""); Class c = p.getClass(); 方式3:调用Class的静态方法forName(String classpath),参数为完整的类名 Class c2 = Class.forName("com.wu.compare.Person"); 方式4:通过类加载器获取 Clas.... Java反射机制 Java