可变对象与不可变对象之间的区别
在Java中,不可变对象的状态在创建后不可修改,但必须引用其他对象。它们在多线程环境中非常有用,因为多个线程无法更改对象的状态,因此不可变对象是线程安全的。不可变对象对于避免时间耦合非常有用,并且总是具有故障原子性。
另一方面,可变对象具有可以更改的字段,不可变对象在创建对象后没有可以更改的字段。
创建可变对象后,我们可以修改其状态
可变对象不是线程安全的
可变类不是最终类
默认情况下,所有类及其对象都是可变的。
不变类的例子
public final class ImmutableClass {
private String laptop;
public String getLaptop() {
return laptop;
}
public ImmutableClass(String laptop) {
super();
this.laptop = laptop;
}
}
public class Main {
public static void main(String args[]) {
ImmutableClass immutableClass = new ImmutableClass("Dell");
System.out.println(immutableClass.getLaptop());
}
}可变类的示例
public class MuttableClass {
private String laptop;
public String getLaptop() {
return laptop;
}
public void setLaptop(String laptop) {
this.laptop = laptop;
}
public MuttableClass(String laptop) {
super();
this.laptop = laptop;
}
}
public class Main {
public static void main(String args[]) {
MuttableClass muttableClass = new MuttableClass("Dell");
System.out.println(muttableClass.getLaptop());
muttableClass.setLaptop("IBM");
System.out.println(muttableClass.getLaptop());
}
}热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短