美文网首页
不可变对象

不可变对象

作者: CoderAPang | 来源:发表于2021-07-27 15:53 被阅读0次

    状态不可变对象需要满足以下要求:
    1、类本身使用final修饰:防止子类修改其定义
    2、所有字段都用final修饰,保证字段被其他线程可见时已经被初始化
    3、创建的过程中,不泄露this关键字给其他类,包括匿名内部类
    4、若某个字段引用了其他的状态可变对象,例如数组等,这些字段必须由private修饰,并且值不能对外暴露。若有相关方法要返回这些字段,要做防御性复制(深拷贝)。

    相关文章

      网友评论

          本文标题:不可变对象

          本文链接:https://www.haomeiwen.com/subject/automltx.html