Because the Java programming language supports inheritance, an application such as a class browser must be able to identify superclasses. To determine the superclass of a class, you invoke the
The program that follows finds the names of the
getSuperclass
method. This method returns a Class
object representing the superclass, or returns null if the class has no superclass. To identify all ancestors of a class, call getSuperclass
iteratively until it returns null. 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
No comments:
Post a Comment