不可变的类意味着一旦创建了对象, 我们就无法更改其内容。在Java中, 所有包装类(例如Integer, Boolean, Byte, Short)和String类是不可变的。我们也可以创建自己的不可变类。
以下是要求:
- 该类必须声明为最终类(这样才能创建子类)
- 该类中的数据成员必须声明为final(这样, 在创建对象后我们就无法更改其值)
- 参数化的构造函数
- 所有方法的getter方法
- 无设置器(无法选择更改实例变量的值)
// An immutable class
public final class Student
{
final String name;
final int regNo;
public Student(String name, int regNo)
{
this .name = name;
this .regNo = regNo;
}
public String getName()
{
return name;
}
public int getRegNo()
{
return regNo;
}
}// Driver class
class Test
{
public static void main(String args[])
{
Student s = new Student( "ABC" , 101 );
System.out.println(s.getName());
System.out.println(s.getRegNo());
// Uncommenting below line causes error
// s.regNo = 102;
}
}
输出如下:
ABC
101
在此示例中, 我们创建了一个名为Student的最终类。它具有两个最终数据成员, 一个参数化的构造函数和getter方法。请注意, 这里没有设置方法。
(为了使其起作用, 请在主函数中创建Student类的对象。)
【如何在Java中创建不可变类(代码示例)】如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。
推荐阅读
- JavaScript如何使用DataView.getFloat32()方法(示例)
- C#如何使用数组与数组列表(用法示例和区别)
- 操作系统中的页面替换算法详细指南
- 电脑无法识别U盘?本文教您怎样处理这个问题
- u盘插电脑没反应,本文教您处理u盘插电脑没反应
- u盘里面的数据会不会消失,本文教您u盘里面的数据消失怎样办
- 怎样进入bios设置,本文教您戴尔笔记本怎样进入bios设置
- 用u盘安装系统,本文教您怎样运用u盘安装win7系统
- u盘打开,本文教您如何用U盘安装系统