public class Test {
public static void main(String[] args) {
Master c = new Master();
c.feed(a);这里为什么要写c.feed(new Cat())才可以正常运行
}
}
public class Pet {
public void eat(){
System.out.println("正在吃东西.....");
}
}
public class Cat extends Pet {
@Override
public void eat() {
System.out.println("小猫正在吃鱼。。。。。");
}
}
public class Dog extends Pet{
@Override
public void eat() {
System.out.println("小狗吃肉");
}
}
public class Master {
public void feed(Cat a){
a.eat();
}
public void feed(Dog b){
b.eat();
}
}
```不知道为什么要用 c. (new cat()),这个为什么要这么写,怎么能写出来并且只能这么写?
选择题么?问题怎么问的,代码怎么写的,你都没有说清楚。
你的代码中没有 new cat() 不知道你说的是什么?代码贴完整了么
因为Master类的 feed方法需要一个 Cat 类型的参数,所以要写 c.feed(new Cat());
或者你可以分行写
Cat cat = new Cat();
c.feed(cat);