程式是否可以改進
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 星