一个简单的例子

Posted 尐鱼儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简单的例子相关的知识,希望对你有一定的参考价值。

考虑下面这个简单的例子,让我们看看 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 是用来描述某个类中单个方法的一个类。

以上是关于一个简单的例子的主要内容,如果未能解决你的问题,请参考以下文章

分享几个实用的代码片段(附代码例子)

分享几个实用的代码片段(附代码例子)

如何创建片段以重复变量编号中的代码行

spark 例子wordcount topk

为啥这个代码片段说包含错误?

简单的方法来分享/讨论/协作的代码片段?