实际上,我们在加载任何一个类时都会在方法区中建立“这个类对应的 Class 对象”, 由于“Class 对象”包含了这个类的整个结构信息,所以我们可以通过这个“Class 对象” 来操作这个类。
要使用一个类,首先要加载类;加载完类之后,在堆内存中,就产生了一个 Class 类 型的对象(一个类只有一个 Class 对象),这个对象就包含了完整的类的结构信息。可以通过这个对象知道类的结构。这个对象就像一面镜子,透过这个镜子可以看到类的结构, 所以,我们形象的称之为:反射。 因此,“Class 对象”是反射机制的核心