社区
Java SE
帖子详情
请问JAVA的反射机制有什么用?
Ly_uu
2006-12-14 08:29:57
最近在看JAVA的反射机制,不过想来想去都不知道在实践工作中有什么用或用在那里,所以想请教一下各位知不知道呢?
...全文
289
7
打赏
收藏
请问JAVA的反射机制有什么用?
最近在看JAVA的反射机制,不过想来想去都不知道在实践工作中有什么用或用在那里,所以想请教一下各位知不知道呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
galant2008
2006-12-14
打赏
举报
回复
反射也就是说,在编译时,你获取了一个指向某个并不存在你的程序空间中的对象的引用;
事实上在编译时你的程序无法获知这个对象所属的类.
java附带的库java.lang.reflect包含了FIeld,Method,Constructor类.这些类型的对象
是由jvm在运行时创建的,用以表示未知类里对应的成员.你就可以使用Constructor创建
新的对象,用get()和set()方法读取和修改与Field对象关联的字段,用invoke()方法调用
与Method对象关联的方法.
反射常用在类的反向控制,例如AOP
建议楼主去查查api
aChinese
2006-12-14
打赏
举报
回复
写工具用, 比如IDE为什么能代码提示, 就是能通过反射分析你写的类
junit777
2006-12-14
打赏
举报
回复
可以反射地方射来的箭矢,减低伤害
wanguanghai
2006-12-14
打赏
举报
回复
import java.lang.reflect.*;
public class DumpMethods {
public static void main(String args[]) {
try {
Class c = Class.forName(args[0]);
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++)
System.out.println(m[i].toString());
} catch (Throwable e) {
System.err.println(e);
}
}
}
按如下语句执行:
java DumpMethods java.util.Stack
它的结果输出为:
public java.lang.Object java.util.Stack.push(java.lang.Object)
public synchronized java.lang.Object java.util.Stack.pop()
public synchronized java.lang.Object java.util.Stack.peek()
public boolean java.util.Stack.empty()
public synchronized int java.util.Stack.search(java.lang.Object)
这样就列出了java.util.Stack 类的各方法名以及它们的限制符和返回类型。
这个程序使用 Class.forName 载入指定的类,然后调用 getDeclaredMethods 来获取这个类中定义了的方法列表。java.lang.reflect.Methods 是用来描述某个类中单个方法的一个类。
wanguanghai
2006-12-14
打赏
举报
回复
反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。
十分钟年华老去
2006-12-14
打赏
举报
回复
想是想不出来的,等要用到了的时候你就知道有多有用了。所以现在看不懂也不要紧
已经存在
2006-12-14
打赏
举报
回复
反射的作用太大了,最大的感受时,利用反射可以写出非常精简的而且通用的东西
java
反射机制
.md
深入了解
java
反射机制
的原理,通过
反射机制
可以破坏单例模式,如何防止通过
反射机制
拿到单例模式的构造器呢?用枚举类可破
Java
反射机制
的使用心得
* 什么是
反射机制
? *
反射机制
有哪些应用场景? *
反射机制
会对程序的性能造成影响吗?
java
反射机制
到底是什么?
1.什么是
反射机制
?
JAVA
反射机制
是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为
java
语言的
反射机制
。 2.
反射机制
有什么功能?
Java
反射机制
主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员
什么是
Java
反射?有什么用途?
反射机制
允许程序在运行时加载类并操作:获取类的所有字段、方法、构造器动态创建实例调用对象方法访问/修改对象属性(即使是private判断泛型、注解、接口实现关系等
Java
反射是一种强大但开销较大的运行时“自省+自操作”机制,是框架级开发的基础设施,需谨慎使用。如果你想进一步了解反射的底层原理(如 MethodAccessor 生成、动态字节码、反射缓存)、反射性能优化(如 MethodHandle)、还是 Spring 中反射的典型应用,我可以深入讲讲。需要继续吗?
什么是
Java
中的
反射机制
?它有哪些用途?
Java
中的
反射机制
是程序在运行时能够获取到任何类的内部信息,并能直接操作任意对象的内部属性及方法的一种机制。
反射机制
允许
Java
程序在运行时调用Reflection API取得任何类的内部信息,比如成员变量、构造器、成员方法等,并能操作类的实例对象的属性以及方法。1. 动态加载类:
Java
反射允许在运行时动态加载类,这对于实现插件化系统、模块化设计和动态配置非常有用。通过Class类的forName方法,可以根据类名加载对应的类并创建实例。2. 获取类的信息。
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章