[解決済み] インスタンス・イニシャライザーとコンストラクターはどう違うのですか?
2023-05-14 03:01:30
質問
言い換えると、なぜインスタンス・イニシャライザが必要なのでしょうか?また、インスタンス・イニシャライザを書くことで、コンストラクタとどのような違いや利点があるのでしょうか。
どのように解決するのですか?
これでうまく説明できそうです。
インスタンス初期化子は、インスタンス変数 初期化子の代わりになります。
初期化子のコードが例外をキャッチする必要がある、または
インスタンス変数のイニシャライザでは表現できないような派手な計算を実行する。 もちろん、このようなコードは常に コンストラクタに書くこともできます。
しかし、複数のコンストラクタを持つクラスでは、各コンストラクタでコードを繰り返さなければなりません。インスタンスイニシャライザを使えば 一度だけコードを書けば、どのコンストラクタでオブジェクトを作成しても実行されます。 オブジェクトを作成するコンストラクタに関係なく実行されます。インスタンスイニシャライザは コンストラクタを宣言できない匿名内部クラスでも有用です。 コンストラクタを全く宣言できない
From JavaWorld Javaにおけるオブジェクトの初期化 .
関連
-
[解決済み] Spring Data JPAにおけるCrudRepositoryとJpaRepositoryのインターフェースの違いは何ですか?
-
Junitのユニットテストエラー
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] wait()とsleep()の違いについて
-
[解決済み] JavaにおけるRunnableインターフェースとCallableインターフェースの違いについて
-
[解決済み】サーブレットはどのように動作するのですか?インスタンス化、セッション、共有変数とマルチスレッド
-
[解決済み】静的なMapを初期化する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
executeQuery()でデータ操作文が発行できない。解決方法
-
Jsoup-Crawlingの動作
-
強制型変換について
-
Junitのユニットテストはjava.lang.Testを報告します。
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
Javaがテキストファイルを読み込む
-
API の戻り値を処理するために ResponseEntity を使用する
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
-
テストが空であるかどうかを判断するためのオプションの処理
-
[解決済み] 匿名クラスにパラメータを渡すには?