假如有一个方法:public List a(Object obj){
}
a 方法要实现多态,也就是说可以接收任何类型的对象,我想在方法体里面知道对象的各种方法,使用反射能不能实现?
}
a 方法要实现多态,也就是说可以接收任何类型的对象,我想在方法体里面知道对象的各种方法,使用反射能不能实现?
解决方案 »
- 一道java基础面试题
- 请教一下配置数据库连接池的问题
- 问个切合实际的问题~!
- 使用反射时,对参数有疑惑
- axis2的wsdl2java的问题
- 哪个ZXing-2.1含有 com.google.zxing.client.j2se 急
- 有谁能用自己的话(而不是套用别人的话)和实际例子说明面向对象比结构化更好吗?
- 请教各位大虾:利用asp怎么把数据转化成word文档和pdf文件!
- 我刚学Java,用Javac编译一个例程没问题,但一用Java运行就出错:Exception in the thread "main" java.lang.NoClassDefFoundError: Welcome(rolt1)[Java]
- 各位大虾,菜鸟wo又来了!
- List<Integer>转int[]
- 希望高手帮忙写一个正则表达式
public List a(Object obj){
Class c = obj.getClass();
Method[] method = c.getMethods();
}
package com.tutorinfo.forum;import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;public class GetMethod {
/*
* 返回参数中的对象的类的全部方法名
*/
@SuppressWarnings("unchecked")
public <T> List<String> a(T t){
List<String> list=new ArrayList();
if (null!=t){
Class clazz=t.getClass();
//对象反映此 Class 对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法
//Method[] methods=clazz.getDeclaredMethods();
//返回一个包含某些 Method 对象的数组,这些对象反映此 Class 对象所表示的类或接口(包括那些由该类或接口声明的以及从超类和超接口继承的那些的类或接口)的公共 member 方法。
Method[] methods=clazz.getMethods();
for(Method m:methods){
list.add(m.toString());
}
}
return list;
}
public static void main(String[] args){
GetMethod gm=new GetMethod();
List<String> methods=gm.a(gm); //测试一个对象,获取它全部的方法名
System.out.println(methods);
}}
你看看反射中 method类的invoke方法