then this is more suitable
Code:
import java.lang.reflect.*;
public class PersonReflection {
public PersonReflection() {
try {
Class c = Class.forName("Person");
System.out.println("\n\nproperties(type --> name)");
System.out.println("-----------------------------");
Field[] flds = c.getDeclaredFields();
for (int i = 0; i < flds.length; i++){
System.out.println(flds[i].getType().getName().toString()+"---->"+flds[i].getName().toString());
}
System.out.println("\n methods(return type --->name --->(parameters)");
System.out.println("------------------------------------------------");
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++){
System.out.print(m[i].getReturnType().getName().toString()+"--->"+m[i].getName().toString()+"--->(");
Class[] parameters=m[i].getParameterTypes();
for (int j=0;j<parameters.length;j++)
System.out.print(parameters[j].getName().toString()+" ");
System.out.println(")");
}
System.out.println(" \n\nget data");
System.out.println("-----------------");
Field person1 = c.getDeclaredField("firstPerson");
System.out.println("name="+((Person) person1.get(c)).getName());
Field person2 = c.getDeclaredField("secondPerson");
System.out.println("name="+person2.getName());
}
catch (Throwable e) {
System.err.println(e);
}
}
public static void main(String [] args){
new PersonReflection();
}
}