静态代理
前提
- 代理角色和真实角色实现相同的接口
- 代理角色必须有真实角色的引用
- 代理引用
具体实现
public class Demo03 {
public static void main(String[] args) {
new Hr(new Manger()).adduser();
}
}
interface AddUser{
void adduser();
}
//经理对象
class Manger implements AddUser{
@Override
public void adduser() {
System.out.println("技术面试");
}
}
//Hr对象
class Hr implements AddUser{
private Manger manger;
public Hr(Manger manger) {
this.manger = manger;
}
@Override
public void adduser() {
//1.
System.out.println("线上面试");
System.out.println("线下面试");
manger.adduser();
System.out.println("招人");
}
}
此代码模拟了公司招人的情况,公司技术经理需要招人,而Hr帮技术经理找人,通过线上面试,和线下面试之后,再由技术经理来进行技术面试。所以他们都有找人的需求,因此满足代理的要求。