• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コンポジション コンストラクタに引数がある場合)

コンストラクタに引数がある場合のコンポジションの使い方

このQ&Aのポイント
  • コンストラクタに引数を持つコンポジションの使い方について解説します。
  • コンストラクタを使用してPersonクラスとStudentクラスを関連付け、メイン関数でその情報を表示する方法を説明します。
  • 初心者に向けて、コンポジションの基本的な使い方と解決方法をまとめています。

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

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

とりえず、実行できるようにはしました。 class Person{ public String name_; public int age_; public Person(String n,int a){ name_ = n; age_ = a; } } class Student{ public Person person_; public int grade_; public Student(Person p,int g){ person_ = p; grade_ = g; } } public class goo_test14 { public static void main(String[] args){ Student asaya_ = new Student(new Person("MOTO",2),0); System.out.println(asaya_.person_.name_+" "+asaya_.person_.age_+" "+asaya_.grade_); } } **********引用******** >Student asaya_ = new Student(p,0); >} ********************** エラーは}が、System.outの後に来るのじゃないですか??

PHYOPHYO
質問者

お礼

前回のご回答同様ありがとうございました。私もtom11さんの前回の回答をヒントにして、解決しました。内容的には同じ内容でした。確かに}のミスも有りましたが、そのミスを直しても解決しなかったと思います。 ご回答ありがとうございました。

その他の回答 (1)

  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.1

> Student asaya_ = new Student(p,0); この「p」が解決できずにコンパイルエラーとなっているのだと思います。 Student asaya_ = new Student(new Person("", 0), 0); とすれば良いかと思いますが、、、 > public Student(Person p,int g){ ここの「p」も使用されてませんね。。。