老师来康康
public abstract class Animal {
//按任务要求实现该类
private String name;
//getter/setter方法
public String getName() {
return name;
}
public Animal() {
super();
// TODO Auto-generated constructor stub
}
public Animal(String name) {
super();
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public abstract void play();
}
==========================================
package test20200630;
public class Dog extends Animal{
public Dog() {
super();
// TODO Auto-generated constructor stub
}
public Dog(String name) {
this.setName(name);
// TODO Auto-generated constructor stub
}
@Override
public void play() {
System.out.println("小狗"+this.getName()+"在做游戏!");
}
}
============================================
public class Cat extends Animal{
public Cat() {
// TODO Auto-generated constructor stub
}
public Cat(String name) {
this.setName(name);
// TODO Auto-generated constructor stub
}
@Override
public void play() {
// TODO Auto-generated method stub
System.out.println("小猫"+this.getName()+"在做游戏!");
}
}
=========================================
import java.util.List;
public class AnimalPlay {
public void animalPlay(List<? extends Animal> list) {
for(Animal a:list) {
a.play();
}
}
}
===========================================
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
// 定义List并添加Dog类对象
List<Dog> dog=new ArrayList<Dog>();
Dog d1=new Dog("巴迪");
Dog d2=new Dog("豆豆");
dog.add(d1);
dog.add(d2);
// 定义List并添加Cat类对象
List<Cat> cat=new ArrayList<Cat>();
Cat c1=new Cat("花花");
Cat c2=new Cat("凡凡");
cat.add(c1);
cat.add(c2);
// 使用AnimalPlay类的方法,按照演示效果输出内容
AnimalPlay ap=new AnimalPlay();
ap.animalPlay(dog);
ap.animalPlay(cat);
}
}
老师我这代码在eclipse里运行会跳这个提示,请问是啥原因啊?
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 9410 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星