jiazz213453 2017-04-11 02:27 采纳率: 12.5%
浏览 395

请问大佬,关于接口实例化的疑问

package j2ee2;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

interface Sell_0{
void sell();
void run();
void seek();
}
class Factory implements Sell_0{
public void sell(){
System.out.println("Factory...sell");
}
public void run(){
System.out.println("Factory...run");

}
public void seek(){
    System.out.println("Factory...seek");

}

}
/*
class ProxySeller implements Sell_0{
Factory fac = new Factory();
public void sell(){
System.out.println("p...bengin");
fac.sell();
System.out.println("p...end");

}

}
*/
//中间类
class MyInvocationHandler implements InvocationHandler{
Factory fac = null;
public MyInvocationHandler(Factory obj){
this.fac = obj;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
// TODO Auto-generated method stub
System.out.println("begin...");
method.invoke(fac, args);
System.out.println("end...");
return null;
}
}
public class Sell {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Factory fac = new Factory();
    InvocationHandler h = new  MyInvocationHandler(fac);
    Sell_0 s = (Sell_0)Proxy.newProxyInstance(fac.getClass().getClassLoader(), fac.getClass().getInterfaces(), h);
    s.run();
    s.seek();
    s.sell();
}

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题
    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
    • ¥15 YoloV5 第三方库的版本对照问题
    • ¥15 请完成下列相关问题!