反射机制
首先获得类模板的方式有三种:
其次通过反射获得类的字段,方法,构造函数,并附参数:
(1)根据类模板对象获取对象的字段信息
Class clz=Class.forName(&
1. Class cls=对象名.getClass();//使用这种方式获取类模板有局限性:必须现有对象才能得到类模板对象
2.Class cls=Class.forName(包名+类名的字符串);//最常用的,只要知道完全限定名(包名+类名)字符串即可获取类模板对象
3.Class cls=类名.class;//最简单,也比较常用,但必须指定类名才能获取类模板对象
可以根据类模板实例化对象:Object obj=类模板对象.newInstance();//类模板对应的对象的字节码文件中必须有无参构造函数,否则报异常。
注意:
结论1:同一种类型的对象获取的类模板对象是同一个对象
结论2:三种获取类模板的方式不同,但同于同一类型的对象获取的类模板是同一个对象.
简单而言:同一 .class文件的模板是同一对象, 使用以上三种获取的类模版对象也是同一对象
其次通过反射获得类的字段,方法,构造函数,并附参数:
(1)根据类模板对象获取对象的字段信息
Class clz=Class.forName(&