ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-07-25 第六小组 张宁杰 面向对象:多态

2022-07-25 20:35:50  阅读:139  来源: 互联网

标签:instanceof 25 张宁 Dog 多态 链表 new Cat


目录

多态
多态的形成有三个条件
第一种多态形式:(向上转型)
第二种多态形式:(向下转型)
instanceof关键字
匿名对象

知识点

多态:

编译看左边,运行看右边
披着羊皮的狼

Dog dog = new Dog();
Cat cat = new Cat();
Animal animal1 = dog;
Animal animal2 = cat;

多态的形成有三个条件:

1.有继承
2.有重写
3.有父类对象指向子类引用
说到底就是把类之间的is关系落实

第一种多态形式:(向上转型)

父类 父类对象 = new 子类();

 Object obj = new Person();

第二种多态形式:(向下转型)

发生向下转型的前提:要先发生向上转型,才能通过强转再转成子类类型

instanceof关键字:

判断某一个对象是否是某一个类的实例,返回值是boolean类型

 if(animal instanceof Cat){
            Cat cat = (Cat) animal;
            cat.catchMouse();
        }else if(animal instanceof Dog) {
            Dog dog = (Dog) animal;
            dog.look();
        }else {
            System.out.println("我不养...");
        }

多重if容易有逻辑缺陷

匿名对象

通常配合构造器使用
语法: new 类名();
功能:和正常的有名字的对象的功能是相同的。依然具备了调用属性,方法的功能
使用场景:多数是在传参,实参,多数情况下配合构造器使用
好处:节约栈的资源

new Dog().setName("黑黑");
new Dog().setAge(1);

数组是不是类:
1.站在JVM的角度看,是类,在JVM解析数组时,会生成一个数组的解析数组。
2.站在编译角度看,不是类,因为没有类名,没有结构。

链表:是一个数据结构

分为单向链表,循环链表,线性表。
它是一个含有n>=0个起点的有序数列,有且只有上一个节点,有且只有一个下一个节点
单向链表:在维护一个节点的自身的同时,还要维护下一个节点指向
双向链表:在维护一个结点的自身的值得同时,还要维护它的上一个和下一个值的指向

学习感受

今天的学习难度主要集中在链表的构造上,多态较为简单,但也需要练习将知识点吃透。理解链表的原理,并将其熟练运用才是今天学习的重点。

标签:instanceof,25,张宁,Dog,多态,链表,new,Cat
来源: https://www.cnblogs.com/ZhangNJ/p/16518708.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有