Java - Creating javap tool

Creating a program that works as javap tool

Following methods of java.lang.Class class can be used to display the metadata of a class.

Method                             Description

public Field[]    getDeclaredFields() throws SecurityException returns an array of Field objects reflecting all the fields declared by the class or interface represented by this Class object.

public Constructor[] getDeclaredConstructors() throws SecurityException returns an array of Constructor objects reflecting all the constructors declared by the class represented by this Class object.

public Method[] getDeclaredMethods() throws SecurityException returns an array of Method objects reflecting all the methods declared by the class or interface represented by this Class object.

Example of creating javap tool

Let's create a program that works like javap tool.

import java.lang.reflect.*;  
  
public class MyJavap{  
   public static void main(String[] args)throws Exception {  
    Class c=Class.forName(args[0]);  
      
    System.out.println("Fields........");  
    Field f[]=c.getDeclaredFields();  
    for(int i=0;i<f.length;i++)  
        System.out.println(f[i]);  
      
    System.out.println("Constructors........");  
    Constructor con[]=c.getDeclaredConstructors();  
    for(int i=0;i<con.length;i++)  
        System.out.println(con[i]);  
      
        System.out.println("Methods........");  
    Method m[]=c.getDeclaredMethods();  
    for(int i=0;i<m.length;i++)  
        System.out.println(m[i]);  
   }  
}  

At runtime, you can get the details of any class, it may be user-defined or pre-defined class.

Output:

creating a program that works like javap tool creating a program that works like javap tool