0

クラス内にそれを呼び出す他のメソッドがない場合、プライベートメソッドを静的に宣言する正当な理由はありpublic staticますか? メソッドがインスタンス変数を必要としない場合でも、たとえば 2 つの入力パラメーターを一緒に追加します。メソッドを static と宣言するオーバーヘッドはありますか? このような場合、それが存在するクラスのインスタンスから独立して実行できる場合でも、静的ではないことは価値がありますか?

4

2 に答える 2

4

thisインスタンスメソッドには、メソッドで使用されていない場合でも、メソッドへの参照を渡す必要があるというオーバーヘッドがあるため、静的メソッドを呼び出す方がインスタンスメソッドを呼び出すよりも安価です。

最適化に関しては、何も追加しません。メソッドはすでにプライベートであるため、必要に応じて JVM は自由にインライン化できます。静的であっても非静的であっても違いはありません。

設計面: これはプライベートなメソッドなので、自由にやりたいことができます。

于 2013-04-02T23:44:39.840 に答える
0

メソッドを static と宣言するかどうかは、それが非公開かどうかとは関係ありません。インスタンス変数を参照しない場合は、静的であると宣言できます。そうすることをお勧めします。

于 2013-04-03T01:31:06.390 に答える