Get super class and all its declared methods in Java

Description

The following code shows how to get super class and all its declared methods.

Example


/*ww w . j a v a2  s .c  o  m*/
import static java.lang.System.out;

import java.lang.reflect.Method;

public class Main {
  public static void main(String... args) {
    try {
      Class<?> c = Class.forName("java.lang.String");
      printMethods(c);

      Class parent = c.getSuperclass();
      while (parent != null) {
        printMethods(parent);
        parent = parent.getSuperclass();
      }

      // production code should handle this exception more gracefully
    } catch (ClassNotFoundException x) {
      x.printStackTrace();
    }
  }

  private static void printMethods(Class c) {
    out.format("Methods from %s%n", c);
    Method[] meths = c.getDeclaredMethods();
    if (meths.length != 0) {
      for (Method m : meths)
        out.format("  Method:  %s%n", m.toGenericString());
    } else {
      out.format("  -- no methods --%n");
    }
    out.format("%n");
  }
}

The code above generates the following result.





















Home »
  Java Tutorial »
    Reflection »




Annotation
Array
Class
Constructor
Field
Generics
Interface
Method
Modifier
Package
Proxy