public class demo {
public static void main(String[] args) {
UserService userService = new UserServiceImpl();
UserServicePorxy userServicePorxy = new UserServicePorxy(userService);
userServicePorxy.select();
userServicePorxy.update();
}
}
interface UserService {
void select();
void update();
}
class UserServiceImpl implements UserService {
@Override
public void select() {
System.out.println("查询数据");
}
@Override
public void update() {
System.out.println("更新数据");
}
}
//静态代理
class UserServicePorxy implements UserService {
private UserService userService; //被代理对象
public UserServicePorxy(UserService userService) {
this.userService = userService;
}
@Override
public void select() {
before();
userService.select();
after();
}
@Override
public void update() {
before();
userService.update();
after();
}
private void before() {
System.out.println("方法之前增加功能");
}
private void after() {
System.out.println("方法之后增加功能");
}
}
//执行结果
//查询数据
//方法之后增加功能
//方法之前增加功能
//更新数据
//方法之后增加功能