请问JAVA的反射机制有什么用? 最近在看JAVA的反射机制,不过想来想去都不知道在实践工作中有什么用或用在那里,所以想请教一下各位知不知道呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写工具用, 比如IDE为什么能代码提示, 就是能通过反射分析你写的类 反射也就是说,在编译时,你获取了一个指向某个并不存在你的程序空间中的对象的引用;事实上在编译时你的程序无法获知这个对象所属的类.java附带的库java.lang.reflect包含了FIeld,Method,Constructor类.这些类型的对象是由jvm在运行时创建的,用以表示未知类里对应的成员.你就可以使用Constructor创建新的对象,用get()和set()方法读取和修改与Field对象关联的字段,用invoke()方法调用与Method对象关联的方法.反射常用在类的反向控制,例如AOP建议楼主去查查api 反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。 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 是用来描述某个类中单个方法的一个类。 想问下整形数组和Object之间的问题! 新手问题:关于声明变量的问题 比较时间问题,实在看不出哪错了.帮忙看下程序 谁帮我把这个程序加上异常处理 送分的问题!大家积极参加 Vector????急!!看看你们有多少本事儿!!!! jtable中如果某列是自定义的编辑器和绘制器,那么单击这列时,jtable并不会获得焦点,这是为什么? 谁遇到过这种错,跪求解决 java新人求助 部分*.jar不能执行??高手指教。 哪里有sql server2005的驱动jar包下载 困惑:安装java6 jre后不能执行java?
事实上在编译时你的程序无法获知这个对象所属的类.java附带的库java.lang.reflect包含了FIeld,Method,Constructor类.这些类型的对象
是由jvm在运行时创建的,用以表示未知类里对应的成员.你就可以使用Constructor创建
新的对象,用get()和set()方法读取和修改与Field对象关联的字段,用invoke()方法调用
与Method对象关联的方法.反射常用在类的反向控制,例如AOP建议楼主去查查api
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 是用来描述某个类中单个方法的一个类。