反射可以得到什么,清明细

javagoodboy1 2009-08-17 03:35:39
Thank
...全文
144 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tfsict2008 2009-08-19
  • 打赏
  • 举报
回复
通过类的字节码文件获得类的信息,产生Class对象,根据这个对象可以获得Constructers,methods,fields,想要什么都可以得到,反正反射就是在你不知道类名的情况下使用这个类,动态加载类,扩展程序,
lifeiscool 2009-08-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 supreme1008 的回复:]
可以得到一个类的所有东西,包括方法,修饰符,变量等等
[/Quote]
就这样。
supreme1008 2009-08-18
  • 打赏
  • 举报
回复
可以得到一个类的所有东西,包括方法,修饰符,变量等等
pupppet 2009-08-18
  • 打赏
  • 举报
回复
反射的类里面的所有东西。。。变量啊,方法啊,方法参数啊(个数与类型)
lihaifeng0412 2009-08-17
  • 打赏
  • 举报
回复
这问题也需要到这里来问么?百度一搜一大堆!
三界五行外 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 eastoneking 的回复:]
引用 3 楼 kuailelxl 的回复:
目前我碰到的。
一、基类中调用已知方法名或者方法特点的子类的方法。比如重写基类的toString方法,反射找到所有的get方法并反射执行取得返回值,可以将所有仅用于数据传送的类继承该类,只需要使用System.out.println(数据对象),就可以打印处该对象所有的字段值。
二、多模块程序中低JDK模块调用高JDK模块的类。低JDK的模块通常是多局点统一版本,需要在不同的JRE上运行,故只能采用最低的JDK进行编译。而如果代码中引用的是高JDK编译的类,则编译不能通过,所以不能在代码中直接导入或者引用这些类,只能使用反射机制在运行时动态的获取类进行使用。


第二点的意思是说通过Class.forName可以再低版本的JRE运行高版本的class文件么?
如果是,表示怀疑.应该加载就报错的
[/Quote]
你没看清楚,是在低JDK上可以编译引用了高JDK类的工程,运行的时候JRE该是啥版本还得是啥版本。
临碣 2009-08-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kuailelxl 的回复:]
目前我碰到的。
一、基类中调用已知方法名或者方法特点的子类的方法。比如重写基类的toString方法,反射找到所有的get方法并反射执行取得返回值,可以将所有仅用于数据传送的类继承该类,只需要使用System.out.println(数据对象),就可以打印处该对象所有的字段值。
二、多模块程序中低JDK模块调用高JDK模块的类。低JDK的模块通常是多局点统一版本,需要在不同的JRE上运行,故只能采用最低的JDK进行编译。而如果代码中引用的是高JDK编译的类,则编译不能通过,所以不能在代码中直接导入或者引用这些类,只能使用反射机制在运行时动态的获取类进行使用。
[/Quote]

第二点的意思是说通过Class.forName可以再低版本的JRE运行高版本的class文件么?
如果是,表示怀疑.应该加载就报错的
三界五行外 2009-08-17
  • 打赏
  • 举报
回复
目前我碰到的。
一、基类中调用已知方法名或者方法特点的子类的方法。比如重写基类的toString方法,反射找到所有的get方法并反射执行取得返回值,可以将所有仅用于数据传送的类继承该类,只需要使用System.out.println(数据对象),就可以打印处该对象所有的字段值。
二、多模块程序中低JDK模块调用高JDK模块的类。低JDK的模块通常是多局点统一版本,需要在不同的JRE上运行,故只能采用最低的JDK进行编译。而如果代码中引用的是高JDK编译的类,则编译不能通过,所以不能在代码中直接导入或者引用这些类,只能使用反射机制在运行时动态的获取类进行使用。
kakagui 2009-08-17
  • 打赏
  • 举报
回复
可以动态的获取类的信息。
临碣 2009-08-17
  • 打赏
  • 举报
回复
元数据信息:)

明细吧,准确吧:)

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧