run reflection

来源:互联网 发布:java后台接收上传图片 编辑:程序博客网 时间:2024/06/01 09:45
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class Run_Refletion {public static void main(String[] args) {// TODO Auto-generated method stub       AnimalProxy ap=new AnimalProxy();       Animal animal_dog=(Animal) ap.getInstance(new Dog());   animal_dog.say("Tom");      Animal animal_cat = (Animal) new AnimalProxy().getInstance(new Cat());   animal_cat.say("jeery","2");}}interface Animal{    public void say(String name);    public void say(String name,String age);}class Dog implements Animal{@Overridepublic void say(String name) {// TODO Auto-generated method stubSystem.out.println("hi ,i am "+name );}public void say(String name,String age) {// TODO Auto-generated method stubSystem.out.println("hi ,i am "+name+"age:"+age );}}class Cat implements Animal{@Overridepublic void say(String name) {// TODO Auto-generated method stubSystem.out.println("hi ,i'm "+name );}public void say(String name,String age) {// TODO Auto-generated method stubSystem.out.println("hi ,i am "+name+"age:"+age );}}class AnimalProxy implements InvocationHandler{Object object;public Object getInstance(Object target){this.object=target;return Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), this);        }@Overridepublic Object invoke(Object arg0, Method arg1, Object[] arg2)throws Throwable {// TODO Auto-generated method stubarg1.invoke(object, arg2);return null;}}

0 0
原创粉丝点击