第一章:java类的继承

news/2024/10/25 3:25:00/

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、继承的基本概念
  • 二、继承的细节
  • 总结


前言

继承是类的重要特征之一。


一、继承的基本概念

​​​​​​在这里插入图片描述
关键字extends,表示Sab类继承了Base类,则Sab为Base的子类,Base为Sab的父类。继承在现实中是合法获得前人的财产,地位,权利等,在java中继承是子类获得父类的成员变量和成员方法。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Sab类中没有n2和info方法,但sab对象可以调用,说明sab对象中有n2成员变量和info成语方法。

输出结果也显示sab对象调用了n2和info方法。

在这里插入图片描述
在jvm内存中先加载所有类的父类Object,再加载Sab的父类Base,创建Sab对象时,加载父类的成员变量n3,再加载n1和n2,可见n3存在了sab所指的的堆上,sab对象就新增了父类及以上成员变量。

不完善或有错误请见谅,欢迎指导。

二、继承的细节

类继承的使用细节
子类不能直接访问父类的private的成员变量和方法,但可以调用父类的公共方法实现。(间接访问)
子类调用构造方法是必定会调用父类的构造方法(即先初始化父类再初始化子类)
子类调用构造方法时,如果第一行没有super或this(两者不能共存)则默认super()(不会显示出来),因为继承后每个成员变量要初始化

总结

类的继承减少了代码的复用,可以使代码更简洁。


http://www.ppmy.cn/news/1200054.html

相关文章

【扩散模型】5、Diffusion models beat GAN | 使用类别引导图像生成

论文:Diffusion models beat GAN on image Synthesis 代码:https://github.com/openai/guided-diffusion 出处:OPENAI | NIPS2021 时间:2021 贡献: 在本文章之前,扩散模型生成的图片已经非常逼真了&am…

Symfony DomCrawler库

Symfony DomCrawler库是Symfony框架中的一个组件,用于解析HTML或XML文档,并提供了一种方便的方式来查询和操作文档中的元素。 使用DomCrawler,你可以: 加载HTML或XML文档,并创建一个Crawler对象。 使用CSS选择器或XP…

Retrofit2的基本用法

一、retrofit是什么? Retrofit 是一个用于在 Android 应用程序中进行网络请求的开源库。它是由 Square 公司开发的,提供了一种方便的方式来处理 HTTP 请求和响应。Retrofit 可以帮助开发者将 HTTP 请求映射到 Java 接口,并将服务器的响应映射…

真丢人,工作六七年了,没搞明白MySQL插入是并发还是串行?

最近五哥和同事争辩起来,MySQL插入是并发还是串行,我记得明明是串行插入,同事非要和我杠,说MySQL可以并发插入。 我要亲自试验一下,打他的脸! MySQL 实验版本 8.0 定义表结构 首先定义 用户信息表userIn…

Get请求和Post请求解决中文乱码问题

Post请求中中文乱码的原因 Post请求中参数是通过request.getReader(),来获取流中的数据Tomcat在获取流的时候采用的是ISO-8859-1ISO-8859-1编码是不支持中文的,所以会出现乱码 解决方案: 页面的编码格式设置为utf-8Tomcat在获取流流之前将…

【PC】第2期《全知 PUBG 视角》概要

各位玩家大家好,欢迎收看本期公告。 得益于各位玩家的大力支持,第2期《全知 PUBG 视角》直播已经圆满落下了帷幕,非常感谢各位对我们的喜爱。在直播的热度过去之前,我们也已趁热打铁,为大家准备好了可供所有地区玩家观…

最近又考了两个Oracle认证,交一下作业

从Oracle 10g 开始考Oracle的认证,现在已经有15个Oracle的认证了,最近又考了两个Oracle认证,分别是云和AI的。是现在正时髦的技术,又恰恰是我的短板,以考促学,正好系统地学习这两门知识。这两个证书的培训和…

虚析构函数

1)类指针指向本身的对象 Son *xiaoming new Son; delete xiaoming; 构造及析构顺序: 父类构造 子类构造; 子类析构; 父类析构。 2)父类指针指向子类对象,,父类析构函数不是虚函数 Father *father new Son; delete f…