我有幾個與immutable
類字段有關的問題。不可變類字段查詢
假設我有一個類Student
:
public class Student {
private final int empId;
public int getEmpId() {
return empId;
}
public Student(int empId) {
this.empId=empId;
}
}
問題1:爲什麼它必須定義字段作爲private
決賽?
問題2:爲什麼需要final
以及private
。當我們宣佈該字段爲final
時,它將不會在課程外部顯示出來嗎?
問題3:爲什麼我們不能做到public final
?
在此先感謝。
q1)不完全正確,因爲公共final int無法修改 – Michael
嗨,感謝您的回覆。對於第2點,它是輸入錯誤,我的意思是私人。問題2:爲什麼最終需要私人。當我們將該字段聲明爲PRIVATE時,它將不會在課程外部顯示出來嗎? –
@KamalVerma'private'並不直接與類是否是不可變的。關於不可變的一點是:在構造並初始化對象之後,不應該可以更改狀態(成員變量)。 – Jesper