高手进来,如何得到类中的方法和属性,先谢谢了。 程序如何得到类中的方法和属性,当然是public的。就好比如何实现在IDE中“xxx.”后面自动出现方法和属性的功能。呵呵,不知道我说清楚了没有,大家帮帮我啊,先谢谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 查看软件包 java.lang.reflect 提供类和接口,以获取关于类和对象的反射信息。 严重同意楼上。reflect是很牛X的东东。 用反射假设你有类Apublic class A { int i; String s; public void say(){ }}要取得A的属性和方法,那么可以这么写import java.lang.reflect.Field;import java.lang.reflect.Method;public class B { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { Class c=Class.forName("A"); Field[] f=c.getDeclaredFields(); Method[] m=c.getMethods(); for(int i=0;i<f.length;i++){ System.out.println("name:"+f[i].getName()+" class:"+f[i].getClass().getName() ); } for(int i=0;i<m.length;i++){ System.out.println("method name:"+m[i].getName()); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }} public ClassA {public void methodA(){}}当然是new一个实例,然后调用它的方法啊。ClassA a=new ClassA();a.methodA; 嗯,看java.lang.reflect包,没错!里面的Method、Field等就是对应类的方法和属性等。从任何的一类的class属性里可以get出那些东西来。如Method[] ms = System.class.getMethods();就得到了System类所有的方法,然后ms[0].getName()之类的就可以得到方法相关的信息。另外,如果想实现IDE的自动提示功能,可以考虑动态编译和加载,即对于将编辑的代码动态编译它,再用定制的ClassLoader载入它,进而用上面的反射方法(reflect)来进一步处理……^_^ java.lang.reflectjava.lang.reflect 谢谢楼上的共享,没有想到JAVA还有如此的用法。 判断是否为整数hasNextint,但出现无法引用int [急救]编译后bin目录下class文件都不见了现在怎么编译都不行了 在网页上插入一个JApplet 可是无法显示 新手报道,小小菜鸟向各位前辈问好 二位数组如何分配动态空间??? 关于focusGained和focusLost执行的先后问题 java中操作mysql数据库输出问题 运行带包名的class文件出错 问一个servlet给applet传参数的问题 java的网络编程 关于unicode的问题 请教一个ireport做web报表的问题 急 在线等 解决后散分!
提供类和接口,以获取关于类和对象的反射信息。
reflect是很牛X的东东。
假设你有类A
public class A {
int i;
String s;
public void say(){
}
}
要取得A的属性和方法,那么可以这么写
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class B { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Class c=Class.forName("A");
Field[] f=c.getDeclaredFields();
Method[] m=c.getMethods();
for(int i=0;i<f.length;i++){
System.out.println("name:"+f[i].getName()+" class:"+f[i].getClass().getName() );
}
for(int i=0;i<m.length;i++){
System.out.println("method name:"+m[i].getName());
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
public void methodA(){
}
}当然是new一个实例,然后调用它的方法啊。
ClassA a=new ClassA();
a.methodA;
没错!里面的Method、Field等就是对应类的方法和属性等。
从任何的一类的class属性里可以get出那些东西来。
如Method[] ms = System.class.getMethods();就得到了System类所有的方法,
然后ms[0].getName()之类的就可以得到方法相关的信息。另外,如果想实现IDE的自动提示功能,可以考虑动态编译和加载,
即对于将编辑的代码动态编译它,再用定制的ClassLoader载入它,
进而用上面的反射方法(reflect)来进一步处理……^_^
java.lang.reflect