码迷,mamicode.com
首页 > 其他好文 > 详细

一个简单的例子

时间:2018-10-01 10:35:44      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:span   methods   lang   boolean   key   obj   empty   它的   rgs   

考虑下面这个简单的例子,让我们看看 reflection 是如何工作的。


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 是用来描述某个类中单个方法的一个类。

一个简单的例子

标签:span   methods   lang   boolean   key   obj   empty   它的   rgs   

原文地址:https://www.cnblogs.com/yuyu666/p/9733882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!