package com.day11_1; import java.util.*; public class Test9 { public static void main(String[] args) { Animal[] as = { new Dog("鼠标出问题了很烦"), new Cat("Tom"), new Dog("明天买新鼠标,雷蛇鼠标也不靠谱"), new Cat("Grafield") }; Dog[] dogs = getAllDog(as); for(int i = 0;i<dogs.length;i++){ System.out.println(dogs[i].getName()); } } public static Dog[] getAllDog(Animal[] as){ Dog[] ds = new Dog[0]; int index = 0; for(int i = 0;i<as.length;i++){ if(as[i] instanceof Dog){ ds = Arrays.copyOf(ds,ds.length+1); ds[index]=(Dog)as[i]; index++; } } return ds; } } class Animal{ private String name; public Animal() { } public Animal(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } } class Dog extends Animal{ public Dog() { } public Dog(String name){ super(name); } } class Cat extends Animal{ public Cat(){ } public Cat(String name){ super(name); } }
(多态问题)从一个Animal数组中挑选出所有的Dog对象,并把这些对象放在一个Dog数组中返回
最新推荐文章于 2021-07-23 11:55:21 发布