JAVA多态 链表

JAVA(多态,链表)

 

多态形成3个条件:

1.有继承

2.由重写

3.父类对象指向子类引用

 

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

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

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

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

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

  instanceof(); 判断某一个对象是否是某一个类的实例

Object方法:

 

instanceof关键字

 

匿名对象

举例:

 匿名对象优点:能节约资源

 

链表

单链表

  单链表是一组的存储单元放线性表的元素,存储单元可以连续也可以不连续。

  单链表结构特点:

    data是数据域,存放数据元素;next是指针域,存放该结点后继节点的地址

data next

双链表

  双链表结构特点:

    prior为前驱指针,存放该结点的前驱结点的地址

    next为后继指针,存放该结点的后继结点的地址

prior data next

循环链表

  循环双链表是双链表的改变,特点为:

    (p->prior)->next = (p->next)->prior

数组与链表的优缺点

  取出线性表第i个元素这样按位置随机访问的操作,像数组这样的顺序表快,时间复杂度O(1),而链表这样只能从头往后找的,时间复杂度为O(n)。

  链表插入和删除不需要移动元素,时间复杂度为O(1),数组这样的线性表插入删除需要移动元素,时间复杂度为O(n)

 

  

 

posted @   一只神秘的猫  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示