面向对象-多态-练习-循环输出3个List
练习一:
1、见注1
package com.iit.demo; import java.util.ArrayList; import java.util.List; public class Start { public static void main(String[] args) { List<Animal> listAnimal = new ArrayList(5); listAnimal.add(new Animal("动物1")); listAnimal.add(new Animal("动物2")); List<Dog> listDog = new ArrayList(5); listDog.add(new Dog("小黑")); listDog.add(new Dog("小灰")); List<RescueDog> listrRdog = new ArrayList(5); listrRdog.add(new RescueDog("大黑")); listrRdog.add(new RescueDog("大灰")); //注1 (要求:代码尽量通用,尽量少重复,提示:要写到方法中,如:showList(listAnimal)) //已知Animal类、Dog类、RescueDog类,请编写上面3个List的循环语句,功能是打印所遍历的元素;其中对于Dog的对象,要调用savePeople()方法。。 } }
已知代码:
package com.iit.demo; //优化:将name属性提到父类并统一开发toString() public class Animal { private String name; public Animal(String name){ this.name = name; } @Override public String toString() { return "Animal{" + "name='" + name + '\'' + '}'; } } //飞翔接口 interface IFly{ void fly(); } //狗狗类 class Dog extends Animal implements IFly{ public Dog(String name) { super(name); } public void savePeople(String name){ System.out.println("救了:"+name); } @Override public void fly() { System.out.println("风口上飞起来..."); } } //救生犬 class RescueDog extends Dog{ public RescueDog(String name) { super(name); } }
listAnimal
本文来自博客园,作者:xiaoyongdata(微信号:xiaoyongdata),转载请注明原文链接:https://www.cnblogs.com/xiaoyongdata/p/16301261.html