You are on page 1of 4

package zeeeshan.khattak; import java.awt.Choice; import java.lang.reflect.*; import java.util.

*; /** * * @author Khattaks */ public class ZeeeshanKhattak { public static void main(String[] args) { try { Scanner scanner=new Scanner(System.in); System.out.println("Enter The Class Name:"); String classname=scanner.next(); //System.out.print(classnam) Class clas=Class.forName(classname); ReflectionAPIs obj=new ReflectionAPIs(); int choise=0; do { System.out.println("press 1 ==> for CLASS MODIFIERS/npress 2 ==> for CLA SS INTERFACE/npress 3 ==> for CLASS NAME/npress 4 ==> for CLASS FIELDS/npress 5 ==> for CONSTRUCTORS/npress 6 ==> for CLASS METHODS/npress 7 ==> for EXIT/n" ); choise = scanner.nextInt(); // System.out.print(" "); switch(choise) { case 1: obj.Modifiers(clas); break; case 2: obj.Interface(clas); break; case 3: obj.Name(clas); break; case 4: obj.Fields(clas); break; case 5: obj.Constructor(clas); break; case 6: obj.Methods(clas); break; }

}while(choise!=7); } catch(Exception e ) { } } }; //////////////////////////////////////////////////////////////////////////////// ///////////////////////////////// /////////////////////// End of main class //////////////////////////////// //////////////////////////////// //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////

class ReflectionAPIs { public void Modifiers(Class clas) { int m=clas.getModifiers(); if (Modifier.isPublic(m)) { System.out.print(" class is public"); } else if(Modifier.isPrivate(m)) { System.out.print("class is private "); } else if(Modifier.isProtected(m)) { System.out.print("class is protected ");//E:\ACP\acp assignment\Ques tion 2 } } public void Interface(Class clas) { if(clas.isInterface()) { System.out.print("class is interface"); } else { System.out.print("class is not interface"); } } public void Name(Class clas) { String name=clas.getName(); System.out.println(name); //System.out.print(name); } public void Fields(Class clas) {

Field f[]=clas.getFields(); for (int i = 0; i < f.length; i++) { int is=f[i].getModifiers(); if(Modifier.isPublic(is)) { System.out.println("field is public "); } if(Modifier.isPrivate(is)) { System.out.println("field is private "); } if(Modifier.isProtected(is)) { System.out.println("field is protected "); } if(Modifier.isAbstract(is)) { System.out.println("field is abstract "); } if(Modifier.isFinal(is)) { System.out.println("field is final "); } if(Modifier.isStatic(is)) { System.out.println("field is static "); } String fieldName = f[i].getName(); Class typeClass = f[i].getType(); String fieldType = typeClass.getName(); System.out.println(fieldName +fieldType); } }// Function "Class Fields " end public void Constructor(Class clas) { try { Constructor []con=clas.getCon(); for (int i = 0; i < con.length; i++) { // System.out.println();

String constrname=con[i].getName(); System.out.print(constrname); Class[] ptype=con[i].getParameterTypes(); for(int j=0; j<ptype.length; j++) { String parName=ptype[j].getName(); System.out.print(parName); } //System.out.print } }

catch(Exception e) { } } public void Methods(Class clas) { Method[] methods=clas.getMethods(); for(int i=0; i<methods.length; i++) { String nam=methods[i].getName(); System.out.print(nam ); Class[] ptype=methods[i].getParameterTypes(); for(int j=0; j<ptype.length; j++) { String pnam=ptype[j].getName(); System.out.print(pnam); } } } }

You might also like