2020-12-16(下)

简介: 2020-12-16

1.png


public class Test {
    public static void main(String[] args) {
//定义动物数组存储若干狗和猫对象
        Animal[] as = new Animal[]{new Dog("pluto"), new Cat("Tom"),
                new Dog("Snoopy"), new Cat("Garfield")};
        Dog[] dogs = getAllDog(as);
        for (int i = 0; i < dogs.length; i++) {
            System.out.println(dogs[i].getName());
        }
    }
    //将动物数组中所有的狗存储在dog数组中进行返回
    public static Dog[] getAllDog(Animal[] as) {
// 统计 Dog 的个数
        int sumDog = 0;
        for (int i = 0; i < as.length; i++) {
//循环遍历得到动物数组中每一个元素,判断当前元素是否是Dog类型
            if (as[i] instanceof Dog) {
//如果是狗统计变量+1
                sumDog++;
            }
        }
// 创建 Dog 数组,统计变量就是狗的数量,使用sumDog作为狗数组的长度
        Dog[] dogs = new Dog[sumDog];
//定义下标
        int dogIndex = 0;
        for (int i = 0; i < as.length; i++) {
//重新遍历动物数组找到dog对象
            if (as[i] instanceof Dog) {
//将dog对象存储在dog数组中
                dogs[dogIndex] = (Dog) as[i];
//第一次存储下标是0,每次存储成功后下标加1,指向下一个数组空间
                dogIndex++;
            }
        }
        return dogs;
    }
}
//动物类
class Animal {
    //属性私有提供set/get
    private String name;//名称
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
//狗继承动物
class Dog extends Animal {
    public Dog(String name) {
        setName(name);
    }
}
//猫继承动物
class Cat extends Animal {
    public Cat(String name) {
        setName(name);
    }
}
目录
打赏
0
0
0
0
723
分享
相关文章
C语言初阶——手把手教零基础/新手入门(万字心得笔记)
C语言初阶——手把手教零基础/新手入门(万字心得笔记)
160 0
java202304java学习笔记第五十三天员工管理-修改员工2
java202304java学习笔记第五十三天员工管理-修改员工2
68 0
VUE实现一个分页组件
分页是WEB开发中很常用的功能,尤其是在各种前后端分离的今天,后端API返回数据,前端根据数据的count以及当前页码pageIndex来计算分页页码并渲染到页面上已经是一个很普通很常见的功能了。从最开始的jquery时代到现在的各种各样的前端框架时代,分页功能都是必不可少的。
1840 0
严选 | Elasticsearch史上最全最常用工具清单
题记:工欲善其事必先利其器,ELK Stack的学习和实战更是如此,特将工作中用到的“高效”工具分享给大家。希望能借助“工具”提高开发、运维效率!
728 0
别为了省168块钱,错过一个亿
是的,这是一篇精彩的广告。 相信您能收获很多~ 2017年10月11-14日,阿里云年度最大规模的杭州云栖大会将在杭州展开。 我们的域名专场也将在云栖大会首日(10月11日)下午拉开帷幕。
2242 0
HTML DOM Attribute 对象
HTML DOM Attribute 对象 HTML DOM 节点 在 HTML DOM (文档对象模型)中,每个部分都是节点: 文档本身是文档节点 所有 HTML 元素是元素节点 所有 HTML 属性是属性节点 HTML 元素内的文本是文本节点 注释是注释节点 Attr 对象 在 HTML DOM 中,Attr 对象表示 HTML 属性。
892 0
Linux内核list/hlist解读
pdf版本下载:Linux内核list&hlist解读.pdf Linux内核list/hlist解读 目录 1.
1073 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等