7

現在、構成を保持するクラスの負荷を作成しています。それだけです。構成ファイルから値を保存するだけです。

コードの半分以上がゲッターであり、実際にまだゲッターを使用するのか、変数に直接アクセスするだけなのか疑問に思っています。

したがって、この:

public myClass
{
    public myClass(String name)
    {
        this.name = name;
    }

    final String name;

    public final String getName()
    {
        return name;
    }
}

または:

public myClass
{
    public myClass(String name)
    {
        this.name = name;
    }

    public final String name;
}

実際には何もせずに変数を返すときに、すべてのゲッターをそこに置くのは本当にばかげているようです。しかし、いずれにせよ getter をそこに入れるのが一般的な Java の慣習であると言われました。

4

2 に答える 2

13

ゲッターを使用してデータをカプセル化すると、次のようないくつかの利点が得られます。

  • 呼び出し元に影響を与えることなく、フィールドを他の表現に変更できます。
  • ゲッターに追加のコードを追加できます。
  • ゲッターを提供するインターフェースを実装できます。
  • そうでない場合でも、フィールドへの読み取り専用アクセスを提供できますfinal
于 2013-07-15T16:28:52.423 に答える
0

私が知っている慣行は、たとえば、不変の型でpublic static final フィールドを使用できるということです。ただし、インスタンス フィールドにはゲッターを追加します。System.out

final を公開しても害はほとんどないことに同意しますString。ただし、可変型には注意してください。さらに、IDE にはインライン化とコード生成があるため、getter のコストは、コードの記述と実行時の両方でかなり少なくなる傾向があります。

于 2013-07-15T16:29:03.743 に答える