程式是否可以改進
package com.imooc.generic;
public abstract class Animal {
public String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public abstract void play();
}package com.imooc.generic;
public class Dog extends Animal {
public Dog() {
}
public Dog(String name) {
setName(name);
}
@Override
public void play() {
// TODO Auto-generated method stub
System.out.println("小狗" + name +"在玩遊戲");
}
}package com.imooc.generic;
public class Cat extends Animal {
public Cat() {
}
public Cat(String name) {
setName(name);
}
@Override
public void play() {
// TODO Auto-generated method stub
System.out.println("小貓" + name +"在玩遊戲");
}
}package com.imooc.generic;
import java.util.List;
public class AnimalPlay {
public void play(List<? extends Animal> animal) {
for(Animal a :animal) {
a.play();
}
}
}package com.imooc.generic;
import java.util.ArrayList;
import java.util.List;
public class AnimalTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Dog> dogList = new ArrayList<>();
dogList.add(new Dog("巴迪"));
dogList.add(new Dog("豆豆"));
List<Cat> catList = new ArrayList<>();
catList.add(new Cat("花花"));
catList.add(new Cat("凡凡"));
AnimalPlay aPlay = new AnimalPlay();
aPlay.play(dogList);
aPlay.play(catList);
}
}2
收起
正在回答
2回答
同学你好,代码完成的不错!如果将属性声明为private,会更加符合代码的封装规范。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星