如何获取对象或类的方法列表?

时间:2011-07-06 06:13:28

标签: java

我需要动态地找到对象中的方法和公共属性的列表。我无法访问该类的定义。是否可以在给定对象引用的情况下获取对象的方法列表?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:6)

您可以通过在引用上调用getClass()来获取课程。从那里,您可以调用getMethods(),getDeclaredMethods()等。示例代码显示java.lang.String中的方法:

import java.lang.reflect.Method;

public class Test {
    public static void main(String[] args) {
        showMethods("hello");
    }

    private static void showMethods(Object target) {
        Class<?> clazz = target.getClass();

        for (Method method : clazz.getMethods()) {
            System.out.println(method.getName());
        }
    }
}

查看Class的文档,了解有关如何获取方法等的更多选项。

答案 1 :(得分:2)

java reflection api可以为你做到这一点。

http://download.oracle.com/javase/tutorial/reflect/class/classMembers.html

答案 2 :(得分:1)

在这里查看java反射中的一个很好的介绍:

http://tutorials.jenkov.com/java-reflection/index.html

通过反射,您可以获得给定类的每个方法和对象(在更多功能旁边)