質問: new Kodomo(); ko.show(); } public void show(){ sayHello("こんにちは"); System.out.println("挨拶:" + hello); } } /* (理想の実行結果) 挨拶:こんにちは */ ``` エラーメッセージ -------- C:\JAVA>javac Mondai.java Mondai.java:23: sayHello() (Mondai 内) を (java.lang.String) に適用できません sayHello("こんにちは"); ^ Mondai.java:25: シンボルを見つけられません。 シンボル: 変数 hello 場所 : Kodomo の クラス System.out.println("挨拶:" + hello); ^ エラー 2 個 使用環境 ---- Windowsテキストエディタ、コマンドプロンプト
回答: ふつう、「子クラスを先に書いて、それに合わせて親クラスを変更する」なんてことは行いませんが、とりあえずそれは置いておきます。 そして、子クラスから呼び出されるものを作る以上、**呼び出し方に合わせた**ものを作らないといけません。 * `sayHello("こんにちは");`と呼べるように、`sayHello`は`String`の引数1つを取る必要があります。 * `hello`はローカル変数や`private`ではなく、デフォルトアクセス以上のフィールドとして用意する必要があります。