- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:初歩的な質問ですみません。)
Java初心者の質問:なぜKoクラスが初期化を完了していないのにfunc()メソッドを呼びさせてしまうのか?
このQ&Aのポイント
- Java初心者の質問:Koクラスが初期化を完了していないのにfunc()メソッドを呼びさせる理由がわからない
- 初心者のJava質問:なぜKoクラスのfunc()メソッドが初期化前に呼び出されるのか?
- Javaの初心者が質問:Koクラスの初期化を完了していないのにfunc()メソッドが呼びさせられる理由
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Koのコンストラクタを実行するときにはKoインスタンス・メンバーの初期化およびOyaのコンストラクタ呼び出しは終わっている。 だからメソッドを呼び出してもなんら問題はない。 実のところJavaではメソッド呼び出しの際にメンバーがどうなっているかなどは確認していませんので、コンストラクタ内からコンストラクタでの初期化済みであることを前提としたメソッドを呼び出すこともできてしまいますけど。 この辺は言語仕様としてはカバーしてないので、コンストラクタから呼び出してよいメソッド、呼び出してはいけないメソッドの区別はプログラマが注意しなければいけません。
お礼
rinkun様へ 返事が遅くなりましてすみませんでした。 なるほど、勉強になりました。 まだまだ勉強が足りないと痛感しました。 ありがとうございました。