反射的用途
反射技术,应该是属于Java中的进阶技术,就我个人而言,平常写业务用到的不是很多,因为使用到的工具类,框架(Spring,MyBatis等)啥的,别人都给你封装好了,直接调用就好啦,但我们还是要了解和掌握,知其然,更要知其所以然。
反射的应用
举个栗子: Class c = Class.forName("com.yushuzi.test.User")
解释 : 加载完这个类之后,在堆内存中,就会产生一个Class类型的对象(一个类只能产生一个对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子一样,透过这个镜子可以看这个类的结构,从而可以操纵它,所以,我们形象的称之为“反射”。
反射的实现
获取一个对象对应的反射类,在 Java 中有下列方法可以获取一个对象的反射类
- 通过
getClass()
方法 - 通过
Class.forName()
方法 - 使用
类.class
- 通过类加载器实现,
getClassLoader()