Java中可变和不可变对象的简介说明

乔欣 Java教程 发布时间:2023-02-02 11:31:52 阅读数:6348 1
下文笔者讲述java中可变和不可变对象的简介说明,如下所示

可变对象(Mutable)和不可变对象(Immutable)的区别

可变对象:
   创建对象后,
   您可以更改状态和字段
     例:
	   StringBuilder,java.util.Date等。

不可变对象:
   创建对象后
     您将无法进行任何更改
	  例 
	     String ,装箱的原始对象(如Integer,Long等)
不可变对象的实现方法:
    使用final关键字对一个类进行修饰,则可实现这个对象的不可变
不可变对象的优点:
    由于对象不可变,所以对象在多线程环境下,是线程安全

Java可变示例

package com.java265;
 
public class MutableExample {
 
	private String name;
 
	MutableClass(String name) {
		this.name = name;
	}
 
	public String getName() {
		return name;
	}
 
	// this setter can modify the name
	public void setName(String name) {
		this.name = name;
	}
 
	public static void main(String[] args) {
 
		MutableExample obj = new MutableExample("java265");
		System.out.println(obj.getName());
 
		// update the name, this object is mutable
		obj.setName("new java265");
		System.out.println(obj.getName());
 
	}
}

Java不可变示例

package com.java265;
 
//不对外提供set方法,则可达到禁止修改的目的
public final class ImmutableExample {
 
	private String name;
 
	ImmutableExample (String name) {
		this.name = name;
	}
 
	public String getName() {
		return name;
	}
 
	//no setter
	
	public static void main(String[] args) {
 
		ImmutableExample obj = new ImmutableExample("java265");
		System.out.println(obj.getName());
 
		// there is no way to update the name after the object is created.
		// obj.setName("new java265");
		// System.out.println(obj.getName());
 
	}
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202302/5625.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者