这个问题其实不难理解往下看:
首先什么是反射:
---java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够
对它的方法和属性进行调用。我们把这种动态获取对象信息和调用方法的功能称之为反射机制。
反射的三种方式:
这里需要跟大家说一下,所谓反射其实是获取类的字节码文件,也就是.class文件,那么我们就可以通过class这个对象进行获取。
1.第一种方式
这个方法其实是Object的一个方法,Class 继承了Object,所以我们可以直接使用。
第二种方式
第三种方式:
这里需要注意,通过类的权路径名获取Class对象会抛出一个异常,如果根据路径找不到这个类name就会抛出这个异常。
那么这3中方式我们一般选用哪种方式呢?第一种已经创建了对象,那么这个时候就不需要去进行反射了,显得有点多此一举。第二种需要导入类的包,依赖性太强。所以我们一般选中第三种方式
通过反射获取类的构造方法、方法以及属性