インターンシップで、同僚の一人がヒントをくれました。これが良い習慣かどうか知りたいです。
私が行っていたのは、含まれる値に対してのみ使用され、実際に何かを行う関数を持たないクラスを作成することでした (ゲッター、セッター、コンストラクターを除く)。変数を次のように宣言しました。
public class ObjectIUse{
Private String name;
public ObjectIUse(String name){
this.name = name;
}
public String getName(){
return name;
}
}
だから私はセッターを使っていません。私の同僚は、私もこの方法でそれを行うことができると言いました:
public class ObjectIUse{
public final String name;
public ObjectIUse(String name){
this.name = name;
}
}
public であるため getter や setter は必要ありませんが、final であるため決して変更することはできません。
どちらが良いでしょうか?それとも、非公開にするだけでなく、最終的なものにする方が望ましいのでしょうか? 明らかに、すべてのオプションが機能することを意味します。どちらが優れているのか、その理由を知りたいだけです。