[解決済み] 静的メソッドを使用する場合
2022-03-17 16:55:05
質問
静的メソッドを使用するタイミングはいつなのでしょうか?例えば、いくつかのゲッターとセッター、1つまたは2つのメソッドを持つクラスがあり、それらのメソッドをそのクラスのインスタンスオブジェクトに対してのみ呼び出すことができるようにしたい場合です。これは、静的メソッドを使用する必要があることを意味するのでしょうか?
例
Obj x = new Obj();
x.someMethod();
...または
Obj.someMethod(); // Is this the static way?
むしろ混乱してる!
どのように解決するのですか?
オブジェクトがまだ構築されていない場合でも、このメソッドを呼び出すことに意味があるのか?
そのため、クラスの中で
Car
メソッドがあるかもしれません。
double convertMpgToKpl(double mpg)
を誰も作ったことがなくても、35mpgの換算値を知りたいと思うかもしれないので、静的なものでしょう。
Car
. しかし、この方法(ある特定の
Car
):
void setMileage(double mpg)
の前にメソッドを呼び出すことは考えられないので、静的であることはできません。
Car
が構築されました。
(ちなみに、逆は必ずしも真ではない: メソッドに2つの
Car
オブジェクトを静的化することができます。 例えば
Car theMoreEfficientOf(Car c1, Car c2)
これは非静的なバージョンに変換することができますが、どの
Car
はより重要であるため、呼び出し側にどちらかを選ぶよう強制すべきではありません。
Car
をメソッドを呼び出すオブジェクトとして使用します。 このような状況は、すべての静的メソッドの中でかなり少数派ですが。
関連
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] Pythonの静的メソッド?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] なぜJavaでは静的メソッドを抽象化できないのですか?
-
[解決済み] Javaインターフェースでスタティックメソッドを定義できないのはなぜですか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
スレッド "main "での例外をEclipseで解決 java.lang.Error: 未解決のコンパイル問題、コンパイラとパッケージの不整合
-
Java Exceptionが発生しました エラー解決
-
undefinedeclipse エラー。この行に複数のアノテーションが見つかりました: - 文字列を型解決に解決できない
-
ファインバグタイプ
-
javaの模造品QQ WeChatのチャットルーム
-
プロローグでのコンテンツは禁止されています
-
JavaMailのメール送信が失敗するケースとその説明の分析
-
Intellij IDEAのエラー「CreateProcess error=2, system could not find specified file」に対する完璧な解決策です。
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
ローカルリソースのロードが許可されていない場合の解決策