Question:
How can I enumerate the methods of an object? I know there must be away since JBuilder and other IDEs know how to populate a list ofmethods from a class.
Answer:
Java possesses a mechanism called reflection, which allows you todynamically discover things about classes. The Object class containsa method called getClass() which enables you to obtain a reference toa Class object that contains all sorts of wonderful information aboutthe class. getMethods() will return all the methods of a class,stored as an array of java.lang.reflect.Method objects.
The Method class lets you learn the name, parameters, return type, exceptions,and other information about a method. The following programdemonstrates a trivial printMethods() function that will print thestring representation of all the methods of an object.
import java.lang.reflect.*;public class ListMethods { public static void printMethods(Object obj) { Method[] methods; methods = obj.getClass().getMethods(); for(int i = 0; i < methods.length; ++i) System.out.println(methods[i].toString()); } public static final void main(String[] args) { printMethods(new String()); }}