• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コンストラクタに関する質問)

コンストラクタに関する質問

このQ&Aのポイント
  • javaの参考書の練習問題にあるTriangleクラスのコンストラクタについて質問があります
  • 質問内容は、public Triangle(){}というソースコードの意味や必要性についてです
  • この問題において、コンストラクタの役割や使い方を知っておく必要があります

質問者が選んだベストアンサー

  • ベストアンサー
  • R_Earl
  • ベストアンサー率55% (473/849)
回答No.1

a, b, cに初期値を設定しないで Triangleクラスのオブジェクトを生成したい時に使う コンストラクタです。 その一行のコードがあると、 Triangle t = new Triangle(); という風に記述する事で、 初期値を設定してないオブジェクトを作れます。 逆にその一行のコードが無いと、 Triangle t = new Triangle(); という記述はエラーになります。 ただ、エラーにならない場合もあります。 詳しく知りたい場合は「デフォルトコンストラクタ」 というキーワードで調べてみると良いと思います。

wantanton
質問者

お礼

お返事遅れてしまい大変申し訳ありませんでした、、 ありがとうございます! 初期値を設定しないオブジェクト作れるんですね^^

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

意味は #1 の通りだけど, 「必要性が分からない」というのは正しいと思う. そもそも「このクラスのコンストラクタを作成しなさい」って問題がほとんど無意味. 「コンストラクタ」は「オブジェクトの作り方」を規定するわけだから, 「コンストラクタを作れ」と言われても「どのようにオブジェクトを作るのか」が分からなければ作りようがない. 場合によっては「デフォルトコンストラクタは不要」 (さらには「あっては困る」) ということだってある. 逆の言い方をすると, 「なんでコピーコンストラクタがないの?」って疑問もありだと思う.

wantanton
質問者

お礼

いつもお世話になります! >逆の言い方をすると, 「なんでコピーコンストラクタがないの?」って疑問もありだと思う. 同意します1

関連するQ&A

専門家に質問してみよう