开发者社区> 问答> 正文

如何使用动态代理生成接口的实例?

有这么一个接口:
screenshot
JDK的动态代理能不能直接根绝这个接口生成实例?

展开
收起
蛮大人123 2016-02-22 15:22:18 2339 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪
    public class Men implements Person{
    
    @Override
    public void sayHello() {
        System.out.println("men say hello!");
    }
    
    
    }
    
    public class PersonHandler implements InvocationHandler {
    
    private Object target;
    
    public  PersonHandler(Object target) {
        this.target=target;
    }
    
    @Override
    public Object invoke(Object proxy, Method method, Object[] args)
            throws Throwable {
        Object obj=method.invoke(target, args);
        return obj;
    }
    }
    
    public class PersonProxy {
    
    public static void main(String[] args) {
        Person men=new Men();
        PersonHandler handler=new PersonHandler(men);
        
        Person proxy=(Person) Proxy.newProxyInstance(men.getClass().getClassLoader(), 
                men.getClass().getInterfaces(),handler);
        proxy.sayHello();
    }
    
    }

    打印:men say hello!

    2019-07-17 18:46:44
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JAVA反射原理以及一些常见的应用 立即下载
Java基础入门(四)-泛型、反射、注解 立即下载
低代码开发师(初级)实战教程 立即下载