私は天気について読んでいましたが、このSO pageのコンストラクタからセッターを呼び出すのは良い習慣ではありません。私はあなたのコンストラクタから非最終メソッドを呼び出すべきではないことを知っています。答えの一つが示唆:トラブルの理解 "このリファレンスの漏洩"
コンストラクタが が完全に初期化されたインスタンスの前に、この漏れは慎重でなければなりません。
私は上の引用が何を意味するのか完全に理解していません。私は次のクラスがあるとします。インスタンスが完全に作成される前に、単なる例として
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