作业帮 > 综合 > 作业

关于java的一个反射机制?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/23 14:12:59
关于java的一个反射机制?
Class regeform = RegeditForm.class;
打印regeform 的结果为(class struts.form.RegeditForm),那个class是什么意思啊,后面的能理解.
既然它反射的是一个类的实例,这什么不能用regeform调它里面的属性.
每个类都有一个对应的Class类 .class是根据类名得到Class类 像getClass()是根据类的实例得到对应的Class 还有Class.forName("")也是根据类名得到对应的Class
你说既然反射的是一个类的实例,
其实得到Class类是反射的基础
可以根据得到的Class实例化一个类
Class regeform = RegeditForm.class;
regeform .getConstructor(new Class[]{}).newInstance(new Object[]{});根据不带参数的构造方法
实例化
Field[] fields=regeform .getDeclaredFields();得到类的属性
Method[] methods = regeform .getDeclaredMethods();得到类的方法
还可以调用invoke来调用类里的方法
反射内容很重要,也不是我现在几句就能说清的
建议你好好学习反射 因为你如果后面学web开发,学框架,其底层就是用反射来实现的