java的静态代理代理类不实现接口也能实现代理功能?

/**
* 代理对象,静态代理
*/

public class UserDaoProxy implements IUserDao{

    //接收保存目标对象
    private IUserDao target;
    public UserDaoProxy(IUserDao target){
    this.target=target; 
        }
//已经将局部变量变为成员变量了,为什么还要实现接口
public void save() {  
    System.out.println("开始事务...");
    target.save();//执行目标对象的方法
    System.out.println("提交事务...");
}
}

保证目标对象和代理对象方法一致,手动保持方法名一致,不符合设计规范,毕竟是一种设计模式。