什么是代理?
租房子,房屋中介是代理。结婚,婚庆公司是代理。
实现静态代理:
1、真实角色
2、代理角色,持有真实代理的引用
3、二者实现相同的接口
来看看java的API给我们提供的一个常用的静态代理:
Thread(Runnable target)
这是Thread类的构造方法,Thread实际是一个代理类。
因为Thread实现了Runnable接口并且有一个
Thread(Runnable target)
方法。
只要自定义一个类MyRunnable,同时实现Runnable接口,用Thread代理类来持有MyRunnable的引用,然后就可操作MyRunnable。
public class MyRunnable implements Runnable {//真实类和代理类都实现了Runnable接口
@Override
public void run() {
System.out.print("this is myRunnable........");
}
}
class Test {
public static void main(String[] args) {
MyRunnable myRunnable = new MyRunnable();//真实类
Thread thread = new Thread(myRunnable);//代理类,持有真实类
thread.start();
}
}
欢迎关注我的微信公众号: