[解決済み】プライベートヘルパーメソッドはstaticにできるのであればstaticにするべき
2022-04-10 21:51:20
質問
例えば、インスタンス化されるように設計されたクラスがあるとします。このクラスには、クラスのメンバにアクセスする必要がなく、引数のみを操作して結果を返すプライベートメソッド(quot;helper")がいくつかあります。
public class Example {
private Something member;
public double compute() {
double total = 0;
total += computeOne(member);
total += computeMore(member);
return total;
}
private double computeOne(Something arg) { ... }
private double computeMore(Something arg) {... }
}
を指定する特別な理由はあるのでしょうか?
computeOne
と
computeMore
を静的メソッドとして使用すること、あるいは使用しない特別な理由がありますか?
確かに、非静的なままにしておくのが一番簡単です。たとえ、問題を起こさずに静的にすることも可能ですが。
どのように解決するのですか?
私は、このようなヘルパーメソッドは
private static
これによって、オブジェクトの状態を変更しないことを読者に明らかにすることができます。 私のIDEでは、静的メソッドの呼び出しを斜体で表示するので、シグネチャを見なくともそのメソッドが静的であることがわかるのです。
関連
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Pythonの静的メソッド?
-
[解決済み] 静的メソッドを使用する場合
-
[解決済み] なぜJavaでは静的メソッドを抽象化できないのですか?
-
[解決済み] 既存の静的クラスに拡張メソッドを追加することはできますか?
-
[解決済み] なぜJavaは静的メソッドのオーバーライドを認めないのですか?
-
[解決済み】静的なMapを初期化する方法は?
-
[解決済み】KotlinでJavaの静的メソッドに相当するものは何ですか?
-
[解決済み】静的定数文字列(クラスメンバ)
-
[解決済み] C++の静的コンストラクタ?プライベートな静的オブジェクトを初期化する必要があります
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] パラメータ[変数]の不正な修飾子;finalのみが許可される[closed]。
-
[解決済み] XX:MaxDirectMemorySizeの既定値
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] javascriptでExpression言語を使うには?
-
[解決済み] javax.mail.MessagingException: SMTPホストに接続できませんでしたか?
-
[解決済み] raw 型のメンバへのアンチェックの呼び出し
-
[解決済み] HTTP ステータス 500 - サーブレットクラス pkg.coreServlet のインスタンス化に失敗しました。
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] publicId と systemId の間に空白が必要です。
-
[解決済み] Java: getInstanceとStaticの比較