Javaについて質問です。コンストラクタの事後条件は初期化がされているとかだと思うのですが、中に変数など、何もない場合の事後条件はなにもしないということですか?それともアクセス可視性をprotectedといているので、サブクラスが生成されているとかですか?

Java

1件の回答

回答を書く

1184835

2026-02-07 18:10

+ フォロー

コンストラクタの事後条件はインスタンスへの参照が正しく設定されているかの一点であり、これはコンパイラ側が持つ責務です
フィールドの初期化についてはコンストラクタによるサポートがない限り、インスタンス生成時に呼び出し側が持つ責務となります
基本的に、絶対の要件を除いて任意の条件はメソッドの方に分離させ、静的メソッドなどを介して操作させる手法が主流です

コンストラクタはインスタンスの生成を目的に呼び出されます
この時publicなフィールドへ任意に初期値を設定可能な点をはじめ、インスタンスの設計は必ずしもコンストラクタの事後条件とは言えません

むしろコンストラクタの実装は条件というよりも方針に寄ると言えます
コンストラクタに担わせたい何かしらの動作がある場合には、メソッドで制御することが推奨されます

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有