添砖Java之路(其八)——继承,final关键字

继承:

意义:让类于类之间产生父类于子类的关系,子类可以直接使用父类中的非私有成员(包括方法与成员变量)  。

extends关键字就是定义声明父类。
格式:public class 子类 extends 父类。
 

对于基础的我就不赘述了,我们直接讲一些实用一点的操作。

super关键字:


举个例子

class Fu{
    int num=10;
}

class Zi extends Fu
{
    int num=20;
    public void Fuc(){
       System.out.println(num);
    }
}


    public static void main(String[] args) {
        Zi z1=new Zi();
        z1.Fuc();
    }

这里面的主方法会打印什么呢?

如果我们想打印父类里的10我们需要用到super

结果就会变为10

可见super可以用来区分父子类里面的相同成员。


方法重写:


这里的方法重写与方法重载不一样哟!
当字父子类出现完全一摸一样的方法时, 在创建子类对象调用方法时会优先调用子类的方法的逻辑。这其实就是子类的方法对父类的方法进行了方法重写。且我们通过@override识别方法重写。
如:父子类都有Fuc方法
 

class Fu{
    int num=10;
    public void Fuc()
    {
        System.out.println("666");
    }
}

class Zi extends Fu
{
    int num=20;

    @Override//如果这没报错就是方法重写
    public void Fuc(){
       System.out.println(555);
    }
}
    public static void main(String[] args) {
        Zi z1=new Zi();
        z1.Fuc();
    }

打印的是555

那我们怎么调用到父类的方法呢,就是用super
 

class Zi extends Fu
{
    int num=20;

    @Override
    public void Fuc(){
        super.Fuc();
       System.out.println(555);
    }
}

两个方法都打印了。
其实方法重写作用就是我们对父类方法的修改和增强。
tip:私有的父类不能重写,子类在重写时访问权限一定要大于等于父类的方法。



继承特点:


Java继承只支持单继承,不支持多继承,但支持多层继承。

单继承,多继承:就是只能继承一个父类,不能继承多个类。
多层继承就像这个图一样:

继承构造方法:


构造方法不支持继承,所以构造方法需要自己写,子类在初始化之前需要对父类进行初始化,而且所有的类构造方法中有隐藏了一句supper()代码,这是用来调用父类的无参构造。
 

我们先简单理解一下super();

class Fu{
    int a;
    int b;

    public Fu() {
    }
}

class Zi extends Fu
{
    int c;
    int d;

    public Zi() {

    }

    public  void Func()
    {
        System.out.println(""+a+b+c+d);
    }
}

    public static void main(String[] args) {
        Zi z1=new Zi();
        z1.Func();
    }

这次会打印什么呢?

可见他将abcd全部都初始化了,就证明了调用了子父类的无参构造。
 

那为什么说所有类都有super()呢?

其实所有的类,直接或间接的继承了object类,这里不多说,但是可以证明的是每个类都有除本身外其他的一些方法如:

final关键字:


对于final关键字其实就感觉像是c/c++里的const
特性:
1.修饰方法就表明是最终方法,该方法不能被重写。
2.修饰类就表明是最终类,该类不能被继承。
3.修饰变量说明是常量,不能再次被赋值(类似于const修饰的变量)。

tip:final修饰成员变量时不能被修饰默认值,说明就被修饰的变量一定要初始化,要么直接声明定义在一起,要么在构造方法里初始化。


final修饰的规范:全用大写,用下划线来分割单词如:MAX_NUM

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/625300.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

汇舟问卷:做小生意也依然可以取得成功

冷门小生意之所以能够成功发财,主要是因为竞争相对较少。相较于那些已被大家知晓且看似热门的生意,冷门小生意的利润空间更多且风险更低。 冷门小生意常常具备低成本和高回报的特点。举个例子,与开设一家餐厅或者服装店相比,成立…

【源码】Spring Data JPA原理解析之Repository的自动注入(一)

Spring Data JPA系列 1、SpringBoot集成JPA及基本使用 2、Spring Data JPA Criteria查询、部分字段查询 3、Spring Data JPA数据批量插入、批量更新真的用对了吗 4、Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作 5、Spring Data JPA自定…

电脑没有网络连接怎么办?4招轻松完成网络连接!

“我的电脑开机后发现连接不上网络,尝试了很多次也不行,这是因为什么呢?有什么比较好的解决方法吗?” 当电脑无法连接到网络时,可能会给我们的工作和生活带来诸多不便。然而,大多数网络连接问题都可以通过一…

C#实现长方体棱锥圆柱棱柱圆锥展开折叠旋转缩放

C#实现长方体棱锥圆柱棱柱圆锥展开折叠旋转缩放 C#实现 模型边数 长方体 棱锥 圆柱 棱柱 圆锥 实现功能 展开 折叠 颜色 边框颜色 旋转 缩放 大小 视图方向 项目获取: 项目获取:typora: typora/img (gitee.com) 备用项目获取链接1:yife…

Linux的进程间通信 管道 进程池

目录 前言 进程间通信的基本概念 管道 匿名管道 pipe函数 cfc 管道的四种情况 管道的五种特征 进程池 ProcessPool.cpp: Task.cpp: 前言 ubuntu系统的默认用户名不为root的解决方案(但是不建议):轻量应用服…

安卓悬浮窗----可移动的悬浮窗

目录 前言一、添加对悬浮窗功能的支持二、通过service实现悬浮窗2.1 窗口属性和标志2.2 窗口移动 三、完整代码 前言 记录一下基础的悬浮窗实现,分为几个重要的点进行阐述。 一、添加对悬浮窗功能的支持 app要实现悬浮窗功能,首先app要添加对悬浮窗功…

【瑞萨RA6M3】2. UART 实验

https://blog.csdn.net/qq_35181236/article/details/132789258 使用 uart9 配置 打印 void hal_entry(void) {/* TODO: add your own code here */fsp_err_t err;uint8_t c;/* 配置串口 */err g_uart9.p_api->open(g_uart9.p_ctrl, g_uart9.p_cfg);while (1){g_uart9.…

扫码枪与Input的火花

文章目录 前言一、需求:交互细节二、具体实现两个核心的函数:自动聚焦 三,扩展知识input 与 change的区别 前言 在浏览器扫描条形码获取条形的值,再操作对应的逻辑。这是比较常见的业务,这里记录实际操作。 其中PC端…

spacy NER 位置信息不考虑空格!!!

texts ["疫情期间,俄罗斯 联邦军队医疗机构的负责人Saanvi Alia在方城县启动了远程医疗服务。","疫情期间,俄罗斯 联 邦 军队医疗机构的负责人Saanvi Alia在方城县启动了远程医疗服务。","疫情期间,俄罗 斯 联 邦 …

PR对比模板|手机竖屏分辨率视频效果前后对比模板剪辑素材

Premiere Pro前后对比效果模板,适用于化妆前后对比、视频调色效果前后对比、同一地方人物活场景变化等视频制作剪辑使用。 主要特点: 只需将图像或视频导入占位符,编辑前后文本,并使用控件微调动画计时。 可以打开或关闭前后屏幕…

LeetCode2095删除链表的中间节点

题目描述 给你一个链表的头节点 head 。删除 链表的 中间节点 ,并返回修改后的链表的头节点 head 。长度为 n 链表的中间节点是从头数起第 ⌊n / 2⌋ 个节点(下标从 0 开始),其中 ⌊x⌋ 表示小于或等于 x 的最大整数。对于 n 1、…

Linux防火墙iptalbes

1 iptalbes 1.1 概念 防火墙(Firewall)是一种隔离技术,用于安全管理与筛选的软件和硬件设备,使计算机内网和外网分开,可以防止外部网络用户以非法手段通过外部网络进入内部网络,保护内网免受外部非法用户的侵入。 1.2 SELinux …

Linux文件相关

权限: 超级用户root 可以做任何事情不受限制 普通用户[用户名]做有限的事情 超级用户的命令提示符是“#”,普通用户的命令提示符是“$” 拓展: 用户的切换 su [用户名] 只是简单的换了一个账号,环境没变 su - 改变…

实验十 智能手机互联网程序设计(微信程序方向)实验报告

实验目的和要求 完成以下页面设计。 二、实验步骤与结果&#xff08;给出对应的代码或运行结果截图&#xff09; Wxml <view class"container"> <view class"header"> <view class"logo"…

遇到难题 暗区突围掉宝Twitch绑定关联账号显示404

Twitch作为一个广受欢迎的直播平台&#xff0c;经常会举办各种与游戏相关的互动活动&#xff0c;如“掉宝活动”&#xff0c;其中就包括了与《暗区突围》的合作。这类活动允许观众在观看指定的Twitch直播时&#xff0c;通过将他们的Twitch账号与《暗区突围》游戏账号绑定&#…

2024年3月 电子学会青少年等级考试机器人理论真题六级

202403 青少年等级考试机器人理论真题六级 第 1 题 下列选项中&#xff0c;属于URL的是&#xff1f;&#xff08; &#xff09; A&#xff1a;192.168.1.10 B&#xff1a;www.baidu.com C&#xff1a;http://www.kpcb.org.cn/h-col-147.html D&#xff1a;fe80::7998:ffc8…

springMVC基础使用(示例)

maven依赖&#xff08;javax.servlet-api版本与spring-webmvc班恩要匹配不然会报java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRespons&#xff09;&#xff1a; <dependencies><dependency><groupId>javax.servlet</groupId><arti…

贪心 -力扣860.柠檬水找零力扣2208.将数组和减半的最少操作次数力扣179.最大数力扣376.摆动序列

目录 力扣860.柠檬水找零 力扣2208.将数组和减半的最少操作次数 力扣179.最大数 力扣376.摆动序列 贪心策略&#xff0c;局部最优->全局最优 1.把解决问题的过程分为若干步骤 2.解决每一步的时候&#xff0c;都选择当前看起来“最优秀的”解法 3.希望能够得到全局最优解…

硬盘架构原理及其算法RAID工作原理写惩罚

一、硬盘的架构以及寻址原理 硬盘工作原理&#xff1a; 硬盘寻址原理&#xff1a;逻辑顺序磁道、盘片、扇区&#xff08;顺序CHS&#xff09; 二、机械硬盘算法 读取算法 寻道算法 个人与企业适合的算法和寻道 个人使用的机械硬盘适合的寻道算法和读取算法是&#xff1a…

Matlab如何批量导出多张高质量论文插图?科研效率UpUp第9期

上一期文章中&#xff0c;分享了Matlab导出高质量论文插图的方法&#xff08;Matlab如何导出高质量论文插图&#xff1f;科研效率UpUp第8期&#xff09;。 进一步&#xff0c;假如我们想要批量导出多张高质量无变形论文插图&#xff0c;该如何操作呢&#xff1f; ​也很简单&…