谁帮写一段代码
功能
给定包名类名后
可以查出这个类中有什么属性,属性类型
有什么方法,方法的参数,参数个数
我知道用反射机制,麻烦帮写一下
注释一下
[b]问题补充:[/b]
获得方法参数的名称是用什么方法?
[b]问题补充:[/b]
我想获得完整的方法
比润 public String print(String s)
java反射
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
10条回答 默认 最新
- wei_jing 2009-04-26 00:10关注
[code="java"]
package utils;import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;public class ReflectTest {
/** * @param args */ public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub Class clazz = Class.forName("utils.FileUtils"); Field[] fields = clazz.getDeclaredFields(); Method[] methods = clazz.getDeclaredMethods(); System.out.println("--------------- 属性如下 -----------------"); for(Field field : fields){ int mod = field.getModifiers(); System.out.println(Modifier.toString(mod) //取得修饰符 + " " + field.getType().getName() //取得类型名 + " " + field.getName()); //取得属性名 } System.out.println("--------------- 方法如下 -----------------"); for(Method method : methods){ StringBuffer methodBuffer = new StringBuffer(); int mod = method.getModifiers(); methodBuffer.append(Modifier.toString(mod)) //取得修饰符 .append(" ").append(method.getReturnType().getName()) //取得返回值类型 .append(" ").append(method.getName()) //取得方法名 .append("("); for(Class ss : method.getParameterTypes()){ methodBuffer.append(ss.getName()).append(","); //取得参数 } methodBuffer.deleteCharAt(methodBuffer.lastIndexOf(",")); //去掉最后一个"," methodBuffer.append(")"); System.out.println(methodBuffer.toString()); //打印输出 } }
}
[/code]
[quote]我想获得完整的方法
比润 public String print(String s)[/quote]据我所知,是不能通过反射获得方法的具体参数,如上面的s,因为Java的Class文件根本就不会存储一个方法的参数名。不过你的这个要求可以通过一些第三方类库来完成,比如:ParaNamer(具体内容参考它的官方网站http://paranamer.codehaus.org/)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂
- ¥15 wordpress 产品图片 GIF 没法显示
- ¥15 求三国群英传pl国战时间的修改方法
- ¥15 matlab代码代写,需写出详细代码,代价私
- ¥15 ROS系统搭建请教(跨境电商用途)
- ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。