public interface Animal5 { // runメソッド:引数無し戻り値無し void run(); }
public class Pet5 { // フィールド:年齢(int型) protected int age; // コンストラクタで年齢を初期化 public Pet5(int age) { this.age = age; } }
public class Cat5 extends Pet5 implements Animal5 { // フィールド:名前(String型) private String name; // コンストラクタで名前と年齢を初期化 public Cat5(int age, String name) { super(age); this.name = name; } // runメソッド: public void run() { if (age < 10) { // 年齢が10未満の場合、「(年齢)才の(名前)は庭で駆け回っています。」と表示 System.out.println(age + "才の" + name + "は庭で駆け回っています。"); } else { // それ以外は「(年齢)才の(名前)は歩いています。」と表示。 System.out.println(age + "才の" + name + "は歩いています。"); } } }
import java.util.ArrayList; import java.util.List; public class Cat5Main { //メインメソッド: public static void main(String[] args) { //Cat5クラスをインスタンス化(変数はAnimal5型にすること) //↑これを3回繰り返し、Cat5クラスインスタンスを3つ作成する。 Animal5 cat1 = new Cat5(1,"a"); Animal5 cat2 = new Cat5(2,"b"); Animal5 cat3 = new Cat5(3,"c"); // List<Animal5>型のオブジェクトにCat5クラスインスタンスをすべて格納する。 List<Animal5> list = new ArrayList<Animal5>(); list.add(cat1); list.add(cat2); list.add(cat3); //拡張for文を使用してCat5クラスインスタンスのrunメソッドを呼び出す。 for (Animal5 call : list) { run(call); } } }
Cat5クラスでリストにインスタンスを格納した後、runメソッドの呼び出しがうまくいきません。
どこを修正すれば正しく出力されますか?

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。