学习java的继承

1.什么是继承

java中提供了一个关键字,extends,可以让一个类与另一个类建立起父子关系。

例如

public class B extends A {
---
}

在这里,我们称A类为父类(也被称为基类或者超类)B类称为子类(或者是派生类)。

2.继承的特点

子类可以继承父类的非私有化成员(包括成员变量和成员方法)。

3.继承后对象的创建

子类的对象是由子类、父类共同完成的。

4.使用继承的好处

可以减少代码的编写。

public class People {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}
}
public class Teacher extends People {private String subject;public String getSubject() {return subject;}public void setSubject(String subject) {this.subject = subject;}public void getPeopleName() {System.out.println(getName());}
}

5.权限修饰符

用来限制类中的成员(成员变量,成员方法,构造器,代码块。。。。)能够被访问的范围。

修饰符在本类中在同一包下的其他类任意包下的子类中任意包下的任意类中
private
缺省
protected
public

6.单继承

java是单继承的,不支持多继承,但是支持多层继承

7.Object类

java所有类的祖宗,我们写的任意的一个类都是Object的子孙类。

8.方法重写

当子类觉得父类中的某个方法不好用,或者无法满足自己的需求时,子类可以重写一个方法名称,参数列表一样的方法,去覆盖父类的这个方法,这就是方法重写。重写后,方法的访问,java会遵循就近原则。

重写需要添加@Override.加上了,安全性增加了,可读性好,子类重写父类方法后,访问权限必须大于或者等于父类该方法的权限(public>protected>缺省),重写方法返回值类型,必须和重写方法和返回值类型一样,或者范围更小。

私有方法,静态方法不能被重写,如果重写会报错。

9.方法重写的应用场景

案例:子类重写Object类的toString()方法,可以返回对象的内容。

也就是父类的方法不满足自己的需求时,就可以方法重写。

10.子类访问的特点

在子类方法中访问其他成员(成员变量、成员方法),是依照就近原则的。

直接访问就是局部变量,使用this关键字就是子类成员变量,使用super就是父类的成员变量。

package com.web201.extends_visited;public class People {String name = "父类的名字";
}

 

package com.web201.extends_visited;public class Student extends People {String name = "子类的名字";public void printName() {String name = "局部变量的名字";System.out.println(name);//局部变量的名字System.out.println(this.name);//子类的名字System.out.println(super.name);//父类的名字}
}
package com.web201.extends_visited;public class Main {public static void main(String[] args) {Student student = new Student();student.printName();}}

 

11.子类构造器的特点

子类的全部构造器,都会先调用父类的构造器,再执行自己。

因为子类的构造器都默认有一个super();他是默认存在的。

如果父类没有无参数构造器,则我们必须在子类构造器的第一行手写super(.......),指定去调用父类的有参数构造器。

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

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

相关文章

debian10 (armbian) 配置CUPS 服务

更新apt apt-update安装相关软件 apt-get install ghostscript apt-get install dc apt-get install foomatic-db-engine apt-get install cups3.修改配置文件 nano /etc/cups/cupsd.conf Listen localhost:631改为 Listen 0.0.0.0:631 以下四段配置加入Allow All # Only li…

【智能优化算法】矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)

矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)是期刊“COMPUTER METHODS IN APPLIED MECHANICS AND ENGINEERING”(IF 7.3)的2022年智能优化算法 01.引言 矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)模仿矮猫鼬的觅食行…

天府锋巢直播产业基地构建成都电商直播高地

天府锋巢直播产业基地自成立以来,一直秉承着创新、协同、共赢的发展理念,吸引了众多直播企业纷纷入驻。随着直播产业的迅猛发展,改成都直播基地内的配套服务也显得尤为重要。本文将深入探讨入驻天府锋巢直播产业基地后,配套的直播…

错误处理机制——vba(vb.net)

程序出现错误时可采用如下错误处理机制:出错时跳到标签处,判断错误类型修正错误,重新返回正确标签处,继续运行程序。 代码如下: Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click…

Golang面向对象编程(一)

文章目录 结构体基本介绍结构体定义方式创建结构体变量结构体内存对齐结构体类型转换字段的Tag标签 方法基本介绍方法的定义和调用方法调用的传参机制String方法 结构体 基本介绍 基本介绍 Go支持面向对象编程特性,包括封装、继承和多态,但Go中没有类&a…

Linux——综合实验

要求 按照上面的架构部署一个简单的web节点所有的服务器使用DNS服务器作为自己的DNS服务器 就是/etc/reslov.conf 中nameserver的值必须是途中dns服务器的地址所有的数据库都是用mysql应用 nfs共享导出在客户端(web服务器上)使用autofs在自动挂载,或者写入/etc/fsta…

window10设置静态IP

右键桌面网络图标 点击属性 点击要查看的网络 点击详细信息 获得网络连接详细信息 右键WiFi符号 或者其他方式进入网络与internet中心 点击 WLAN 点击属性 点击编辑(点击一个即可) 选择手动将刚才的信息方进入即可 完成

MySQL变量的声明与使用

MySQL变量的声明与使用 1、标识符不能以数字开头 2、自能使用_或$符号,不允许使用其他符号。 3、不允许使用系统关键字 将赋值与查询结合 set userName 刘德华; select userName: 刘青云; # 将赋值与查询结合 查询变量/使用变量 select userName as 读取到的u…

TDN: Temporal Difference Networks for Efficient Action Recognition 论文阅读

TDN: Temporal Difference Networks for Efficient Action Recognition 论文阅读 Abstract1. Introduction2. Related work3. Temporal Difference Networks3.1. Overview3.2. Short-term TDM3.3. Long-term TDM3.4. Exemplar: TDN-ResNet 4. ExperimentsAblation studiesCompa…

抖音新店怎么对接达人?对接达人秘籍流程分享,让你学会找达人

大家好,我是电商花花。 新手怎么对接达人带货?这是我们新手商家 要考虑的问题。 很多新手抱怨自己新店铺不出单,没有销量,对接达人又怕达人看不上,没有达人愿意帮我带货,在面临这样的情况下不知道该怎么办…

【科研】常用的实验结果评价指标(1) —— R2(R-square)是什么?

常用的实验结果评价指标(1) —— R2(R-square),可能为负数吗?! 提示:先说概念,后续再陆续上代码 文章目录 常用的实验结果评价指标(1) —— R2(R-square),可能…

ETL免费工具kettle(PDI),安装和配置

起源: Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。在2006年,Pentaho公司收购了Kettle项目,原Kettle项目发起人Matt Casters加入了Pentaho团队,成…

Redis学习5——Redis应用之签到

Redis位图bitMap 位图由一系列二进制位组成,每个位可以被设置为1或0,当我们在处理需要高效存储和操作大量二进制位数据的适合,位图是一个非常有用的工具。 位图操作命令有: SETBIT:设置位图中指定位置的位的值。可以…

ICode国际青少年编程竞赛- Python-4级训练场-绿色能量1

ICode国际青少年编程竞赛- Python-4级训练场-绿色能量1 1、 Dev.step(3) Dev.turnLeft() Dev.step(3) Spaceship.step(4) Spaceship.turnRight() Spaceship.step(4) Dev.step(3) while Item[1].y ! Dev.y:wait()2、 Dev.step(4) while Item[0].x ! Dev.x:wait() Dev.turnLe…

【SAP ME 38】SAP ME发布WebService配置及应用

更多WebService介绍请参照 【SAP ME 28】SAP ME创建开发组件(DC)webService 致此一个WebService应用发布成功,把wsdl文件提供到第三方系统调用接口! 注意: 在SAP ME官方开发中默认对外开放的接口是WebService接口&am…

(2024,SD,条件 GAN,蒸馏,噪声到图像翻译,E-LatentLPIPS)将扩散模型蒸馏为条件 GAN

Distilling Diffusion Models into Conditional GANs 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 3. 方法 3.1 用于一步生成的配对的噪声到图像翻译 3.2 用于潜在空间蒸馏…

中国接入internet30周年,你的企业“互联网”了吗

所谓数字化就是把生意互联网化,升级官网为营销枢纽:“生意的成功从来都是源于你能被找到和找得到更多客户。” 新时代、新征程,当下,我国也持续推进发展数字经济、促进数字经济和实体经济深度融合,应用新一代数字技术&…

【计算机毕业设计】springboot国风彩妆网站

二十一世纪我们的社会进入了信息时代, 信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针对这一需求设…

北京车展现场体验商汤DriveAGI自动驾驶大模型展现认知驱动新境界

在2024年北京国际汽车展的舞台上,众多国产车型纷纷亮相,各自展示着独特的魅力。其中,小米SUV7以其精美的外观设计和宽敞的车内空间,吸引了无数目光,成为本届车展上当之无愧的明星。然而,车辆的魅力并不仅限…

mac安装禅道

前提已安装:phpapacheMySQL mac安装 php7.1/apache-CSDN博客 安装MySQL 一、禅道下载 安装官方文档 源码包下载地址:禅道下载 - 禅道开源项目管理软件 。 1. 解压禅道源码包 2. 将解压后的文件复制到Apache访问目录下 (默认路径为 /Libra…