开发者社区 问答 正文

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

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

展开
收起
蛮大人123 2016-02-22 15:22:18 2444 分享 版权
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
    赞同 展开评论
问答分类:
问答地址: