首先来介绍下Java中实现多线程的两种方式
继承Thread类方式和通过Runnable接口的方式
继承Thread类方式的缺点:如果我们的类已经继承了其他类,那就无法再继承Thread类了
实现Runnable接口的方式优点:避免了单继承,方便共享资源,同一份资源可以有多个代理访问
那么下面就来说说静态代理模式
代理就比如是找房子可以找中介,结婚可以找婚庆公司。
在静态代理模式中有两个角色
1:真实角色
2:代理角色
两个角色通过实现相同的接口来实现关联
实例代码:
真实角色
//真实角色
class You implements IMarry{
@Override
public void marry() {
}
}
代理角色
class WeddingCompany implements IMarry{
@Override
public void marry() {
}
}
让代理模式持有真实角色的引用
class WeddingCompany implements IMarry {
private IMarry you;
public WeddingCompany(){}
public WeddingCompany(IMarry you){
this.you=you;
}
@Override
public void marry() {
you.marry();
}
}
使用实例代码
public static void main(String[] args) {
//创建真实角色
IMarry you=new You();
//创建代理角色加入真实角色的引用
WeddingCompany weddingCompany=new WeddingCompany(you);
}