- /**
-
- * 练习使用代理,添加功能
-
- * @param args
-
- */
-
- public static void main(String[] args) {
-
- // TODO Auto-generated method stub
-
- HashSet has =(HashSet)Proxy.newProxyInstance(
-
- //这一步是告诉proxy用哪个类加载器加载这个类
-
- HashSet.class.getClassLoader(),
- //这一步是为了告诉动态生成类的proxy,要生成什么样的类
-
- new Class[]{HashSet.class},
- //这个参数是代理的关键参数,这个参数的作用是对要代理的方法进行操作
-
- new InvocationHandler() {
-
- HashSet set = new HashSet();
-
- @Override
-
- public Object invoke(Object proxy, Method method, Object[] args)
-
- throws Throwable {
-
- // TODO Auto-generated method stub
-
- Object retVal = method.invoke(set, args);
-
- return retVal;
-
- }
-
- }
-
- );
-
- //has.hashCode();
-
- has.add("hllo");
-
-
- }
复制代码
|
|