如何在Java中创建Immutable类?

Immutable类意味着一旦创建了一个对象,我们就无法改变它的内容。在Java的中,所有包装类(如字符串,布尔值,字节,短)和字符串类都是不可变的。我们也可以创建自己的不可变类。

以下是要求:

•必须将类声明为最终(因此无法创建子类)

•必须将类中的数据成员声明为最终(因此在创建对象后我们无法更改它的值)

•参数化构造函数

•其中所有变量的吸气方法

•无二传手(无法更改实例变量的值)

创建不可变类的示例

// immutable class 
public final class Student 
{ 
final String name; 
final int regNo; 
 
public Student(String name,int regNo)
{ 
this.name = name; 
this.regNo = regNo; 
} 
公共字符串的getName()
{ 
返回名字; 
} 
公众诠释getRegNo()
{ 
返回REGNO; 
} 
} 
 
//驱动程序类
类Test 
{ 
public static void main(String args [])
{ 
Student s = new Student(“ABC”,101); 
的System.out.println(s.getName()); 
的System.out.println(s.getRegNo()); 
 
//取消下面一行的注释会导致错误
// s.regNo = 102;
} 
}
输出:

ABC 
101

在这个例子中,我们创建了一个名为学生的最终类。它有两个最终数据成员,一个参数化构造函数和吸气方法。请注意,这里没有二传手方法。

(为了使其正常工作,在主函数中创建的学生类的对象。)

面试题及答案的获取方式,欢迎加入Java进阶架构交流群:142019080。

直接点击链接加群。https://jq.qq.com/?_wv=1027&k=5lXBNZ7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值