java实际参数列表和形式参数列表长度不同!

2025-12-05 06:18:47
推荐回答(3个)
回答1:

1、修改两处程序可以运行:

   ①、其他代码不变,修改Cat类如下:

class Cat extends Animal {
        //增加无参构造器
        public Cat(){}
        //增加名字和年龄的构造器
        public Cat(String name, int age){
            super(name,age);
        }
        public void eat() {
            System.out.println("猫吃鱼");
        }
}

②、其他代码不变,修改TestDemo类为public访问权限:

public class TestDemo {


2、说明:
   ①、new关键字调用构造器可以创建对象,你原来的代码Animal a = new Cat();处没有报错是因为系统会默认提供一个无参构造器。到了Animal a1 = new Cat("猫",10);处报错是因为这个构造器找不到。你需要手动为它添加。

  ②、一个文件中最好只定义一个类,且为public访问权限,且文件的名称和类名相同。如果没有public访问权限的类,程序找不到入口

  

回答2:

要多态吧

CAT类写SUPER()

回答3:

在Cat类中写构造函数。