A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 禾呈 中级黑马   /  2013-7-9 20:53  /  879 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-10 22:23 编辑

在一个方法中创建一个代理类,那么此代理是局部的吗?例如:

class Test{

        public void method(){
                Set set=(Set)Poxy.newPoxyInstance(
                              null,
                              new Class[]{Set},
                              new InvocationHandler(){
                                   public Object invke(Object proxy,Method m, Object[] args) throws Throwable
                                  {
                                       操作方法。
                                  }
                   });

        }
}
我们假设定义  Test  test=new  Test(); 然后test调用 method方法,test.method(),那么其方法内部将会产生一个 set对象,当此方法执行结束后set对象会不会消失?如果会 那么set对象 就是局部对象,局部对象特点又是啥?

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

1 个回复

倒序浏览
局部对象就是定义在方法中的对象,所以应该是局部对象,运行后不会消失,要等待垃圾回收器处理,然后局部对象的特点就是只在局部环境内起作用,你这个例子中就是只在主方法中生效,如果在定义其他方法就不行了

评分

参与人数 1黑马币 +3 收起 理由
杨兴庭 + 3 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马