我读过并且一直被告知不可变类必须是 final 。但我想知道是否有可能将非最终类对象作为不可变对象(immutable对象)。 在此链接 (Why would one declare an immutable class final in Java?) 中,如果不可变类方法是最终的并且不能被覆盖怎么办。如果该类的所有成员都是最终的,那么该类的对象也可以是不可变的(除非它们引用可变对象)。请告诉我是否有误并打勾:)
最佳答案
如果你可以扩展一个不可变类(这意味着它不是最终的),你可以向子类添加可变属性,这将使你的子类可变,因此基类也将是可变的,因为它可以有可变的子类。
关于java - 非最终 - 不可变类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28136423/