Java reflection also dealing with inheritance concepts. You can get the direct interfaces and direct superclass of a class by using method getInterfaces() and getSuperclass() ofjava.lang.Class object.
1.getInterfaces() will returns an array of Class objects that represent the direct super interfaces of the target Class object
2.getSuperclass() will returns the Class object representing the direct super class of the targetClass object or null if the target represents Object class, an interface, a primitive type, or void.
import javax.swing.*;
import java.util.Date;
public class GetSuperClassDemo {
public static void main(String[] args) {
GetSuperClassDemo.get(String.class);
GetSuperClassDemo.get(Date.class);
GetSuperClassDemo.get(JButton.class);
GetSuperClassDemo.get(Timer.class);
}
public static void get(Class clazz) {
//
// Gets array of direct interface of clazz object
//
Class[] interfaces = clazz.getInterfaces();
System.out.format("Direct Interfaces of %s:%n",
clazz.getName());
for (Class clz : interfaces) {
System.out.println(clz.getName());
}
//
// Gets direct superclass of clazz object
//
Class superclz = clazz.getSuperclass();
System.out.format("Direct Superclass of %s: is %s %n",
clazz.getName(), superclz.getName());
System.out.println("====================================");
}
}
Below is the output...
Direct Interfaces of java.lang.String:
java.io.Serializable
java.lang.Comparable
java.lang.CharSequence
Direct Superclass of java.lang.String: is java.lang.Object
====================================
Direct Interfaces of java.util.Date:
java.io.Serializable
java.lang.Cloneable
java.lang.Comparable
Direct Superclass of java.util.Date: is java.lang.Object
====================================
Direct Interfaces of javax.swing.JButton:
javax.accessibility.Accessible
Direct Superclass of javax.swing.JButton: is javax.swing.AbstractButton
====================================
Direct Interfaces of javax.swing.Timer:
java.io.Serializable
Direct Superclass of javax.swing.Timer: is java.lang.Object
====================================
No comments:
Post a Comment