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

目录

继承:

super关键字:

方法重写:

继承特点:

继承构造方法:

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;@Overridepublic 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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基准电流源电路仿真

1.补全电路 2.更改vpluse属性 3.添加tran仿真,因为加入启动电路主要看的就是tran仿真 4.启动仿真 5.看电路曲线 先点这个main form 不用选择ok,直接点中四条线,中间第2条曲线如果出现那样一个小波动后面没有起伏就说明成功了。

国产分布式数据库高可用故障检测实现

在分布式数据库架构下,当数据库节点异常时,数据库管理组件能够自动感知到异常并触发节点隔离或者自动切换,是数据库高可用容灾的基本能力。在节点服务器异常、网络异常或进程异常等场景下,各数据库产品本身已经具备了可靠的检测能…

jmeter中java请求,解决不支持协议和元件,实现自定义元件

目录 java请求 作用场景 JavaTest类源码分析 编写java请求样例 新建java工程,导入jmeter主要依赖。 编写java请求类,继承AbstractJavaSamplerClient, 导入工程为jar包,放置jmeter安装目录下lib/ext目录 重启jmeter,添加ja…

03 Linux编程-进程

1、进程的相关概念 1.1 程序与进程 程序是静态的概念,进程是程序的一次运行活动。 1.2 查看系统中有哪些进程 ps #只显示一小部分进程 ps -aux #会打印当前所有进程 ps -aux|grep init #使用grep筛选出只含有init的进程top #运行显示的进程有点类似windows…

服务攻防——应用协议ssh,rsync,proftpd,openssh,libssh

1.口令猜解 ftp-拿来文件传输的 rdp-windows远程连接 3389 ssh-linux远程连接 工具hydra 口令 1.windows 这就爆破成功了,现在,我们就可以ftp爆破,爆破出ftp的密码 爆破出来后 访问 2.ssh Rsync(配置不当,未授权…

云服务器和主机的区别

在今天的数字化时代,对于个人和企业来说,选择适当的服务器托管解决方案至关重要。然而,很多人对于云服务器和传统主机之间的区别不太清楚。本文将为您提供一个详细的指南,帮助您理解云服务器与主机之间的区别,以便您能…

【vue+el-upload】当action=“#“,代表不使用默认上传,使用自定义上传,http-request获取文件流

el-upload有多种上传行为: 1、立即上传: 当 action 属性被赋予一个有效的 URL 时,一旦用户选择了文件,el-upload 组件会立即自动将文件上传到指定的服务器地址。 2、不立即上传(自定义触发): 如…

第9章 负载均衡集群日常维护

一个设计良好的高可用负载均衡集群,交付使用以后并不能一劳永逸。欲使其高效、稳定、持续对外服务,日常维护必不可少。 对于高可用负载均衡集群来说,有两种类型的维护形式:常规性维护与突发性维护。突发性维护一般指故障处理&…

Windows Server 2022 环境下WEB和DNS服务器配置方法

目录 实验名称:WEB和DNS服务器配置实验目的实验原理:主要设备、器材:实验内容:配置本地WEB站点配置本地DNS服务器 实验名称:WEB和DNS服务器配置 实验目的 掌握 Windows Server 2022 环境下WEB服务器配置方法 掌握 Wi…

pip镜像源

1.1 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple 1.2 阿里云 https://mirrors.aliyun.com/pypi/simple/ 1.3 网易 https://mirrors.163.com/pypi/simple/ 1.4 豆瓣 https://pypi.douban.com/simple/ 1.5 百度云 https://mirror.baidu.com/pypi/simple/ 1.6 中科大 ht…

Echarts漏斗图的作用和配置项,一文告诉你。

一、什么是漏斗图 ECharts漏斗图是一种数据可视化图表,它通常用于展示一系列事件或流程中的转化率、漏斗效应等信息。漏斗图的形状类似于漏斗,上部较宽,下部较窄,可以将数据按照一定的比例展示在不同的漏斗区域中,从而…

vue3 el-date-picker设置禁用日期,只能选今天或者今天之后的日期

记录一个小tips之项目中遇到使用vue3 el-date-picker设置禁用日期,只能选今天或者今天之后的日期&#xff0c;只需要设置一个属性值:disabled-date"disabledDate"就可以了。 <el-date-picker v-model"ruleForm.tIntendedDateofDeparture" value-format&…