发布日期:2013-03-06 15:06 来源:未知 标签: this 引用 发布 逸出
 

1、发布一个对象是指它能够被当前范围之外的代码所使用。如果发布对象时,它还没完成构造,同样危及封装性,并使程序难以维持稳定。这种情况称之为逸出

2、

1)内部可变数据逸出

public static Set<Secret>knownsecrets;

public void initialize(){

  knownSecrets=newHashSet<Secret>();

}

class unsafestates{

  private String [] states=new String[]{

   "AK","AL"...

  };

  public String[] getStates(){returnstates;}

}

states任何调用者都可以修改它

2)隐式允许this引用逸出,不要让this引用在构造期间逸出

public class thisecape{

  public thisescape(EventSource source){

   source.registerListener(

     new EventListener(){

         public void onEvent(Event e) {

               dosomething(e);

         }

     }

    );

  }

}

内部类的实例包括对其封装的类实例的引用。

相关评论

专题信息
    本教程的主要讲解java语言的核心基础知识,使读者能有个良好的语言基础,为以后进一步提高打下基础。宗旨是帮助更多想学习java的朋友快速入门,如果你是一个Java语言的初学者,那么就从Java教程,java数组,java环境变量配置,java网络编程,技巧等这里开始学习Java吧!