This example illustrates how to get the implemented interfaces names of a particular class. If you are aware of the java.lang.Class, it has methods for knowing the details of a class. One of the method defined in that class is Class.getInterfaces() which is useful for getting all the interfaces names which it is implemented. This method returns the array of java.lang.Class instances. With that object array, you can invoke the getName() method to get the name of the class. Note that, each instance has “class” variable which returns the java.lang.Class for that particular object. By using the getName() method, one could get the name of the class.
Lets look this example.
GetImplementingInterfaceExample.java
package javabeat.net.core; import java.io.IOException; /** * Get Implementing Interface Name Example * * @author Krishna * */ public class GetImplementingInterfaceExample { public static void main(String[] args) throws IOException { Class<?> classVar[] = null; int i = 0; String str = new String(); classVar = str.getClass().getInterfaces(); for (Class cl : classVar) { System.out.println("String Implemented interface (" + (i + 1) + ")" + classVar[i].getName()); i++; } Thread thread = new Thread(); classVar = thread.getClass().getInterfaces(); i = 0; for (Class cl : classVar) { System.out.println("Thread Implemented interface (" + (i + 1) + ")" + classVar[i].getName()); i++; } } }
Output…
String Implemented interface (1)java.io.Serializable String Implemented interface (2)java.lang.Comparable String Implemented interface (3)java.lang.CharSequence Thread Implemented interface (1)java.lang.Runnable