java - 我可以得到一个类的所有方法吗?

标签 java class methods

假设我有一个 .class 文件,我可以获取该类中包含的所有方法吗?

最佳答案

直接来自来源:http://java.sun.com/developer/technicalArticles/ALT/Reflection/ 然后我将其修改为自包含,不需要命令行中的任何内容。 ;-)

import java.lang.reflect.*;

/** 
Compile with this:
C:\Documents and Settings\glow\My Documents\j>javac DumpMethods.java

Run like this, and results follow
C:\Documents and Settings\glow\My Documents\j>java DumpMethods
public void DumpMethods.foo()
public int DumpMethods.bar()
public java.lang.String DumpMethods.baz()
public static void DumpMethods.main(java.lang.String[])
*/

public class DumpMethods {

    public void foo() { }

    public int bar() { return 12; }

    public String baz() { return ""; }

    public static void main(String args[]) {
        try {
            Class thisClass = DumpMethods.class;
            Method[] methods = thisClass.getDeclaredMethods();

            for (int i = 0; i < methods.length; i++) {
                System.out.println(methods[i].toString());
            }
        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}

关于java - 我可以得到一个类的所有方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5266532/

相关文章:

python - 什么是实现多个构造函数的干净 "pythonic"方式?

c++ - 什么是在 C++ 中调用的具有类类型的函数?

JavaEE - 无效类异常

java - 确保在子类构造结束时调用该方法

java - 我的输出只是给出奇怪的字符

java - getSystemClipboard 因 headless 异常而失败

Java:如何使用JavaParser获取Java类的标识符数量

java - 如何引用 jboss 环境中部署的 src/main/resources 文件夹中存在的文件?

java - 自定义类中的变量总是打印 0

Java Runtime.getRuntime() : getting output from executing a command line program