[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
2022-03-15 15:25:18
質問
以下のような構造のJavaコードに出会いました。
public MyParameterizedFunction(String param1, int param2)
{
this(param1, param2, false);
}
public MyParameterizedFunction(String param1, int param2, boolean param3)
{
//use all three parameters here
}
C++では、パラメータにデフォルト値を割り当てることができることは知っています。 例えば
void MyParameterizedFunction(String param1, int param2, bool param3=false);
Javaはこのような構文に対応していますか? この2段階構文が望ましい理由はありますか?
どのように解決するのですか?
いいえ、あなたが見つけた構造は、Javaがそれを処理する方法です(つまり、デフォルトのパラメータの代わりにオーバーロードを使用する)。
コンストラクタの場合。 Effective Java を参照してください。プログラミング言語ガイドの 項目1のヒント(コンストラクタの代わりに静的ファクトリメソッドを検討する)は、オーバーロードが複雑になってきた場合です。その他のメソッドについては、いくつかのケースの名前を変更したり、パラメータオブジェクトを使用したりすることが有効です。これは、差別化が難しいほど複雑になっている場合です。確実なのは、パラメータの数や型だけでなく、パラメータの順序を使って区別しなければならない場合です。
関連
-
java Mail send email smtp is not authenticated by TLS encryption solution.
-
eclipseにプロジェクトをインポートした後、Editorにmain typeが含まれない問題
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] Java - POSTメソッドでHTTPパラメータを簡単に送信する
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
springboot project MIMEタイプ text/htmlで転送された静的ファイルを読み込む。
-
をインスタンス化することができません。
-
コンストラクタの呼び出しは、コンストラクタのエラー理解の最初のステートメントである必要があります。
-
Eclipseでプロジェクトエクスプローラービューとパッケージエクスプローラービューを使う
-
サーブレットクラスのインスタンス化エラーの解決法
-
自動配線された依存性のインジェクションに失敗しました。
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res
-
あるコードに出会いましたが、何に使うのか理解できません。 List<String> list = new ArrayList<String>() { { a
-
Maven Pluginの実行がライフサイクル設定の対象外であるエラーの解決