说说对java反射的理解,使用反射如何获取一个类的所有方法,使用反射需要注意哪些问题?

 我来答
cs6641468
2011-08-22 · TA获得超过5713个赞
知道大有可为答主
回答量:863
采纳率:100%
帮助的人:978万
展开全部
反射说白了就是可以获得一个类的所有信息,主要包括方法和属性两部分。
1.获得方法包括获得方法的名称,方法的返回类型,方法的访问修饰符,以及通过反射执行这个方法。
2.获得属性包括属性的名称,类型,访问修饰符,以及这个属性的值。
这些获得都有相应的API提供操作。

举个例子:
先定义一个类,有age这个属性,以及age的get和set方法:

public class TestRflectionFather {
public int age =32;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

然后操作获得所有方法:

import java.lang.reflect.Method;
public class Testmain {
public static void main(String[] args) throws Exception {
Class clazz = Class.forName("TestRflectionFather");
Method[] methods =clazz.getDeclaredMethods();
for(Method me:methods)
{
System.out.println(me.getName());
}
}

}

//最后输出
getAge
setAge
我啊要已方无16
2011-08-22
知道答主
回答量:5
采纳率:0%
帮助的人:6.3万
展开全部
使用Class.forName() 加载一个类 要注意的是参数是完整类名
Class clazz= Class.forName("完整类名") ;
Method[] m = clazz.getDeclaredMethods(); 这样就获得了这个类里所有的方法

Method[] m = clazz.getMethods(); 这个是获得所有的方法 包括父类的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式