Reflection My Own

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

import java.lang.reflect.

Constructor;
import java.lang.reflect.Method;

public class Reflection {

public static void main(String[] args) {

try{
Class cc=Class.forName("parrot");
Constructor cons=
cc.getConstructor(new Class[]{String.class,String.class});

parrot p=(parrot)cons.newInstance(new Object[]{"aa","bb"});


p.execute();

//====================

Method method = cc.getMethod( "execute",new Class[] {} );


System.out.println(method);
method.invoke(cons.newInstance("aa","bb"),new Object[]{});

//===================================================

parrot pp=new parrot("asdf","asdf");


dowork(pp);

}catch(Exception e){
e.printStackTrace();
}
}

public static void dowork(Object obj){


try{

Class clas=obj.getClass();
Method mm=clas.getMethod("execute",new Class[]{});
mm.invoke(obj,new Object[]{});

}catch(Exception e){e.printStackTrace();}
}

class parrot{

String name;
String address;

public parrot(String aa,String bb){

this.name=aa;
this.address=bb;
}

public void execute(){


System.out.println(this.name+""+this.address);
System.out.println(new Throwable().getStackTrace()[1].getMethodName());
}
}

You might also like