Finding all Superclasses of Button
An Application of Reflection

The program that follows finds the names of the Button class's ancestors by calling getSuperclass iteratively.

import java.lang.reflect.*;
import java.awt.*;

class SampleSuper {

   public static void main(String[] args) {
      Button b = new Button();
      printSuperclasses(b);
   }
   static void printSuperclasses(Object o) {
      Class subclass = o.getClass();
      Class superclass = subclass.getSuperclass();
      while (superclass != null) {
         String className = superclass.getName();
         System.out.println(className);
         subclass = superclass;
         superclass = subclass.getSuperclass();
      }
   }
}

The output of the sample program verifies that the 
parent of Button is Component, and that the parent 
of Component is Object: 

java.awt.Component
java.lang.Object