两个接口:IMassage.java , IWash.java
public interface IMassage {
void massage();
}
public interface IWash {
void wash();
}
Lucy.java实现了这两个接口
public class Lucy implements IMassage,IWash{
@Override
public void massage() {
System.out.println("lucy 正在按摩......");
}
@Override
public void wash() {
System.out.println("lucy 正在足浴......");
}
}
main方法:
public static void main(String[] args) {
final Lucy lucy = new Lucy();
//动态代理实现
Object o = Proxy.newProxyInstance(
Main.class.getClassLoader(),
new Class[]{IMassage.class, IWash.class},
new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println("代理");
//method.invoke(proxy,args);
return method.invoke(lucy,args);
}
}
);
((IMassage)o).massage();
((IWash)o).wash();
}
打印结果:
代理
lucy 正在按摩......
代理
lucy 正在足浴......
完成!!!
网友评论