import java.lang.reflect.*;
import java.util.*;
import java.net.*;
import java.io.*;

public class Test_this {
static public void main( String[] args )throws IOException
{
System.out.println("----");
process_this pt = new process_this("Manas");
printName(pt);
}
static void printName(Object o)
{
Class cls = o.getClass();
Field[] fld =cls.getDeclaredFields();
fld = cls.getFields();
for (int i=0; i<fld.length; i++) {
System.out.println(" ---Field : "+ (i+1));
Class type = fld[i].getType();
System.out.println(fld[i]);
System.out.println(" get type: getName : "+ type.getName());
System.out.println(" get type: hascode() : "+ type.hashCode());
System.out.println(" get type: toString() : "+ type.toString());
System.out.println(" get type: getModifiers() : "+ Modifier.toString(fld[i].getModifiers()));
}
}
}
class process_this
{
public String str= "manas";
private int n1 = 23;
public int n2 = 34;
public process_this(){ System.out.println("this is a blank constructor");}
public process_this(String str){ System.out.println("this is a string constructor");}
public process_this(int n1){ System.out.println("this is a integer constructor");}
public process_this(String str, int n1){ System.out.println("this is a string and integer constructor");}
public void method_this(String str2)throws IOException
{
int n1 = 12;
double dd= 23.45;
System.out.println("will do something later"+ n1 + dd);
}
}