代理模式例子

来源:互联网 发布:mac清理重复照片 编辑:程序博客网 时间:2024/05/23 00:02

package mxr.proxy;

public interface UserManager {

public void addUser(String username,String password);
}





package mxr.proxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

public class UserManagerHandler implements InvocationHandler {

private Object orignialObj;
public UserManagerHandler(Object obj){
this.orignialObj=obj;
}
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
Object result;
System.out.println("署理头里进行了日记记要");
result = method.invoke(this.orignialObj ,args);
System.out.println("署理事前进行了日记记要");
return result;
}

}



package mxr.proxy;

public class UserManagerImpl implements UserManager {

public void addUser(String username, String password) {

System.out.println("增添用户,用户名:"+username);
}

}



package mxr.proxy;

import java.lang.reflect.Proxy;

public class Client {

public static void main(String[] args) {
UserManager um=new UserManagerImpl();
UserManagerHandler umh=new UserManagerHandler(um);
UserManager proxy=(UserManager) Proxy.newProxyInstance(um.getClass().getClassLoader(),um.getClass().getInterfaces(),umh);
proxy.addUser("|", "aa");
}

}



强烈要求javaeye换一个富文本编辑器。这个太难用了。

本文来源:
我的异常网
Java Exception
Dotnet Exception
Oracle Exception

  • 1190 - 显示错误对话框
  • 1191 - Setup has detected some errors during the operation
  • 1192 - data type is not supported
  • 1193 - ORA-00904:Invalid identifier
  • 1194 - IMP-00085: 指定的多个输入文件为无界导出文件
  • 1195 - 无法添加该列
  • 1196 - 分析器错误消息: 项ScriptModule已添加
  • 1197 - System.Data.SqlClient.SqlConnection
  • 1198 - error 1309
  • 1199 - 不能用作表达式
  • 1200 - 没有注册类别
  • 1201 - CrystalDecisions.Enterprise.Framework
  • 1202 - Server Application Unavailable
  • 1203 - ORA-12560
  • 1204 - 存储过程语法错误
  • 1205 - java.io.UTFDataFormatException: Invalid byte 2 of 2-byte UTF-8 sequence.
  • 1206 - java.net.SocketException: Broken pipe
  • 1207 - org.hibernate.impl.QueryImpl
  • 1208 - java.lang.NumberFormatException: null
  • 原创粉丝点击