在這個實例中,我們將學習如何用Java創(chuàng)建一個不可變的類。
要理解此示例,您應該了解以下Java編程主題:
final class Immutable {
private String name;
private int date;
Immutable(String name, int date) {
//初始化不可變變量
this.name = name;
this.date = date;
}
//私有 getter 方法
public String getName() {
return name;
}
public int getDate() {
return date;
}
}
class Main {
public static void main(String[] args) {
//創(chuàng)建不可變對象
Immutable obj = new Immutable("nhooo", 2011);
System.out.println("Name: " + obj.getName());
System.out.println("Date: " + obj.getDate());
}
}輸出結果
Name: nhooo Date: 2011
在Java中,不可變類是指那些值不變的類。要創(chuàng)建一個不可變的類,請注意這里:
該類被聲明為final,因此無法擴展
類成員 name 和 date 被聲明為 private,所以不能在類外訪問
不包含任何setter方法,因此外部類無法更改類成員
getter方法返回類成員的副本
類成員使用構造函數(shù)初始化