开发者社区> 问答> 正文

[@倚贤][¥20]我们能创建一个包含可变对象的不可变对象吗?

问题来自Java技术沙龙的李博
Java线下沙龙报名链接:https://yq.aliyun.com/activity/796

展开
收起
李博 bluemind 2018-12-13 14:17:35 3521 0
2 条回答
写回答
取消 提交回答
  • public class A{
    private final int a;
    public A(int a){
    this.a = a;
    }
    }

    2019-07-17 23:20:37
    赞同 展开评论 打赏
  • 可以的。java中final修饰 表示自身不变。如

    public class Foo {
       public int i = 1;
    
       public static void main(String[] args) {
            final Foo foo = new Foo(); 
            foo.i = 2;
       }
    }

    // foo这个变量不可变, 所以 foo 不可再次赋值, 但是不影响 foo.i 赋值

    2019-07-17 23:20:37
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
对象的生命期管理 立即下载
继承与功能组合 立即下载
低代码开发师(初级)实战教程 立即下载