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

 

欢迎加入Java进阶架构交流群:142019080。

版权声明:本文为hoober原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hoober/p/10527090.html