核心思想
JAVA代理模式(一)
A. 实现同一个接口,所以代理类和被代理类有相同的对外接口;
B. 在程序运行前,静态代理类的.class文件就已经存在了。
实现步骤
1.定义一个接口;
2.定义一个该接口的真实实现类;
3.定义一个该接口的代理实现类。
示例代码
1.定义一个接口TheUser.java
package com.rocky.learn.l003.t2;
public interface TheUser {
public abstract String say();
}
2.定义一个该接口的真实实现类 TheUserImpl.java
package com.rocky.learn.l003.t2;
public class TheUserImpl implements TheUser {
@Override
public String say() {
return "Hello world, And I'm testing the DYNAMIC-PROXY.";
}
}
3.定义一个该接口的代理实现类TheProxyUserImpl.java
package com.rocky.learn.l003.t2;
public class TheProxyUserImpl implements TheUser {
private TheUser user;
public TheProxyUserImpl(TheUser user){
this.user = user;
}
@Override
public String say() {
System.out.println(">BEFORE");
String result = user.say();
System.out.println(result);
System.out.println(">END.");
return result;
}
}
如何调用
package com.rocky.learn.l003.t2;
public class Test {
public static void main(String[] args) {
TheProxyUserImpl proxy = new TheProxyUserImpl(new TheUserImpl());
proxy.say();
}
}
本文介绍了JAVA代理模式的静态代理实现,包括核心思想、实现步骤和示例代码。通过创建一个代理类来扩展目标类的功能,如在方法调用前后增加额外的操作。示例中展示了如何定义接口、实现类以及代理类,并提供了调用示例。
484

被折叠的 条评论
为什么被折叠?



