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。