0
我在閱讀有關天氣的文章,或者從這個SO page的構造函數中調用setter是一個好習慣。我知道你不應該從構造函數中調用非final方法。其中一個答案建議:麻煩理解「泄漏該參考文獻」
在實例 完全初始化之前,構造函數應該謹慎地泄漏這個。
我不完全明白上面引用的意思。假設我有下面的類:
public final class Employee
{
private String empID;
private String empFirstName;
private String empLastName;
public Employee(String ID, String FirstName, String LastName)
{
//Call to other setters left out.
this.setEmployeeLastName(LastName);
}
//empID, empFirstName setter left out.
public void setEmployeeLastName(String lastname)
{
this.empLastName = lastname;
}
}
- 只是作爲一個例子,我怎麼會泄露完全建立的情況下在此之前的參考?它是否意味着在之前將對象作爲參數創建?
請注意,因爲你的類是最終的,所有的方法都是隱式的最終,所以你不需要在這種情況下聲明你的方法setEmployeeLastName final –
@Gimby - 好的建議,現在編輯。 – AnnabelleRosemond