当前位置: 首页 > news >正文

JAVA之继承和多态

继承意义和概念

  • 从已有的类派生出新类,叫做继承。

  • 在软件重用方面一个重要且功能强大的特征。

  • 超类称为父类或基类,次类又称为子类,扩展类,或派生类

  • 关键字extends

  • 父类中的私有域在该类之外是不可访问的。但是如果父类中定义了公共的访问器/修改器,可以通过其进行访问和修改。

  • JAVA中只允许单继承,多重继承通过接口来实现。


this关键字的作用,是调用对象的引用。

super关键字两种用途

  • 调用父类的构造方法

    • 必须是构造方法的第一条语句,在子类中调用父类构造方法的名字会引起一个语法错误。

    • 父类的构造方法是不被子类继承的,他们只能从子类的构造方法中用关键字super调用。

  • 构造方法链

    • 当构造一个子类的对象时,子类构造方法会在完成自己的任务前,首先调用父类的构造方法。如果父类继承自其他类,会继续沿着这个体系结构直到最后一个构造方法被完成为止。

    • 最好能为每个类提供一个无参的构造方法,避免对该类进行扩展是出现错误。

  • 调用父类的方法

    • 仅当实例方法是可访问时,才能被覆盖。

    • 静态方法能被继承,但是不能被覆盖。一旦被覆盖,方法将被隐藏,可使用:父类名.静态方法名调用隐藏的静态方法。


重载,覆盖

图片描述


多态(多种形式)

  • 父类型的变量可以引用子类型的对象


动态绑定

图片描述
图片描述


equals方法

图片描述

防止扩展和覆盖

图片描述

相关文章:

  • 剖析:为何很多人成了QQ隐身族[转载]
  • J2SE5.0中的注释特性
  • Maven 启动找不到 Launcher 的问题
  • LDD6410 开发板完全开发手册1——LDD6410硬软件特性
  • jenkins安装配置
  • NHibernate+Oracle 遇到ORA-01461和ORA-01084及解决方法
  • 深入分析java web技术内幕----读书笔记(三)
  • 关于印发《天津市2010年节能与资源综合利用 清洁生产和环保产业工作要点》的通知...
  • java类加载器的父亲委托机制详细介绍
  • Linux裸设备相关命令
  • JavaSE 学习参考:接口
  • CISCO路由器配置基础3
  • Photoshop中消失点(Photoshop帮助文档)
  • Selenium2+Python--等待页面元素加载(wait)
  • Swift 数据类型
  • 【Leetcode】101. 对称二叉树
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • CSS3 变换
  • Java小白进阶笔记(3)-初级面向对象
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Windows Containers 大冒险: 容器网络
  • 翻译--Thinking in React
  • - 转 Ext2.0 form使用实例
  • MPAndroidChart 教程:Y轴 YAxis
  • ​iOS实时查看App运行日志
  • ​linux启动进程的方式
  • #NOIP 2014# day.2 T2 寻找道路
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (四) Graphivz 颜色选择
  • (转)Sql Server 保留几位小数的两种做法
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .net core Swagger 过滤部分Api
  • .NET Core WebAPI中封装Swagger配置
  • .net 调用php,php 调用.net com组件 --
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .net反混淆脱壳工具de4dot的使用
  • .NET下的多线程编程—1-线程机制概述
  • .NET正则基础之——正则委托
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [2017][note]基于空间交叉相位调制的两个连续波在few layer铋Bi中的全光switch——
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [BUUCTF]-Reverse:reverse3解析
  • [BZOJ 4034][HAOI2015]T2 [树链剖分]
  • [BZOJ3211]:花神游历各国(小清新线段树)
  • [ERROR] Plugin 'InnoDB' init function returned error
  • [hdu 1247]Hat’s Words [Trie 图]