1

この例をベースとして使用するアプリに取り組んでいます。「DetailsFragment」というクラスまで下にスクロールします。次のメソッドが表示されます。

public static DetailsFragment newInstance(int index) {
    DetailsFragment f = new DetailsFragment();

    // Supply index input as an argument.
    Bundle args = new Bundle();
    args.putInt("index", index);
    f.setArguments(args);

    return f;
}

なぜこのメソッドは static なのですか? これは、次のような通常のコンストラクターのように行うことはできませんでした:

public DetailsFragment(int index) {
    Bundle args = new Bundle();
    args.putInt("index", index);
    this.setArguments(args);
}

そして、オブジェクトが必要になったら、次のようにします。

DetailsFragment f = new DetailsFragment(somevalue);

このメソッドが静的である理由がわかりません。

4

4 に答える 4