版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块四面向对象-高阶特性目录/Contents0102继承抽象类和接口0304多态内部类05异常06面向对象项目实践继承任务一学习目标掌握继承的概念,能够简述继承的概念与特点
先定一个小目标!掌握方法的重写,能够在子类中重写父类方法掌握final关键字的使用,能够使用final关键字修饰类和类的成员。掌握super关键字的使用,能够在类中使用super关键字访问父类成员和构造方法4.1.1继承的概念现实生活中,说到继承,通常会想到子女继承父辈的财产、事业等。Java中的继承,描述的是事物间的所属关系,通过继承,可以使多种事物之间形成一种关系体系。下面看一个例子,假如现在需要定义如下两个类。学生类(属性:姓名、年龄
方法:吃饭、睡觉、学习)老师类(属性:姓名、年龄、薪水
方法:吃饭、睡觉、教书)如果不使用继承,两个类的大量重复信息会导致代码大量重复,臃肿而冗杂,可复用性也较低。4.1.1继承的概念解决方法:利用继承关系将多个类的相同内容抽取到单独的一个类中,抽取出的类被称为父类,而基于父类构建出来的新类被称为子类。通过继承,子类会自动拥有父类的所有非私有属性和方法。继承使用关键字extends来实现,语法格式如下:class父类{……}class子类extends父类{……}4.1.1继承的概念通过案例演示Java如何实现类的继承。案例演示Example01.java源代码4.1.1继承的概念案例的运行结果如下图所示。案例演示4.1.1继承的概念类的继承的注意事项。在Java中,类只支持单继承,不支持多继承。也就是说,一个类只能有一个直接父类。子类可以继承父类的公共成员和受保护的成员,但不能继承私有成员。Java支持多层继承,即类的父类可以继承其他类。例如,C类继承B类,而B类可以继承A类。在Java中,子类和父类是一种相对的概念,一个类既可以是某个类的父类,也可以是另一个类的子类。classA{}classBextendsA{}//B类继承A类,B类是A类的子类classCextendsB{}//C类继承B类,C类是B类的子类4.1.2方法的重写方法重写又称方法覆盖,重写方法需要定义在子类中定义一个与父类方法名称、参数列表、返回类型完全相同的方法。下面通过一个案例演示方法的重写。Example02.java源代码4.1.2方法的重写案例的运行结果如下图所示。4.1.2方法的重写子类重写父类方法的注意事项。静态方法不能被重写。静态方法属于类而不属于类的实例,因此不能被子类重写。重写方法的访问权限应比父类中被重写方法的访问权限大或者一致。例如,父类方法的访问权限为protected,子类重写该方法时,只能将其访问权限保持为protected或者放宽为public,而不能设置为private。由于父类的私有方法不能被子类继承、因此也无法被子类重写。4.1.3super关键字继承是一种类与类之间的关系,它涉及多个类,每个类都有各自的属性和方法,很有可能出现父类和子类中具有相同成员的情况。因此,当在子类中访问子类或父类的相同成员时,可能会引起混淆。为了解决这个问题,可以在子类中使用super关键字调用父类的成员,还可以用于在子类的构造方法中调用父类构造方法。4.1.3super关键字1.使用super关键字访问父类成员使用super关键字访问父类成员的具体语法格式如下。super.父类成员变量super.父类成员方法(参数列表)4.1.3super关键字案例演示下面通过一个案例演示super关键字访问父类成员的使用。Example03.java源代码4.1.3super关键字案例演示案例的运行效果如下图所示。4.1.3super关键字案例演示子类无法继承父类的构造方法,但是可以在构造方法中使用super关键字调用父类的构造方法。其语法格式与使用this关键字调用同类构造方法的语法格式类似,具体如下:2.使用super关键字调用父类的构造方法super(参数列表)4.1.3super关键字案例演示下面修改文件Example03.java,演示如何使用super关键字调用父类的构造方法。Example04.java源代码4.1.3super关键字案例演示案例的运行结果如下图所示。4.1.3super关键字2.super关键字调用父类构造方法在Java中,每个类的构造方法中都必须调用其直接父类的一个构造方法,以确保父类的初始化工作得到执行。如果没有进行显式调用,程序会隐式调用父类的无参构造方法。如果父类没有无参构造方法,则子类必须显式调用父类的其他构造方法,否则编译器会报错。而且,子类在构造方法中调用父类构造方法应该放在子类构造方法的第一行。。4.1.3super关键字下面修改文件Example04.java,演示程序隐式调用父类的无参构造方法。Example05.java源代码4.1.3super关键字案例演示案例的运行结果如下图所示。4.1.3super关键字this关键字与super关键字在用法和功能上有很多相似之处,都可以调用构造方法、普通方法和属性,但是两者之间还是有区别的。分类区别点thissuper区别属性访问访问本类中的属性,如果本类中没有该属性,则从父类中查找直接访问父类中的属性方法调用本类中的方法,如果本类中没有该方法,则从父类中查找直接调用父类中的方法构造方法调用本类的构造方法调用父类的构造方法相同之处在调用构造方法时,都必须位于构造方法的第一行,并且只能出现一次4.1.4final关键字final关键字在Java中的含义是不可改变的或最终的,final关键字可以修饰变量、方法和类,当程序中某个实体不需要被修改、继承或重写时,可以使用final关键字来加以限制。4.1.4final关键字1.使用final关键字修饰类使用final关键字修饰的类不能被继承,这样的类称为最终类,即没有子类。具体语法格式如下。finalclass类名{}4.1.4final关键字下面通过一个案例演示final修饰类时的特点。Example06.java源代码1.使用final关键字修饰类4.1.4final关键字案例的运行结果如下图所示。1.使用final关键字修饰类4.1.4final关键字2.使用final关键字修饰方法使用final关键字修饰的方法不能被重写。在父类中使用final关键字修饰的方法,在子类中不能被重写或覆盖,其语法格式如下。访问修饰符final返回类型方法名(){}4.1.4final关键字2.使用final关键字修饰方法下面通过一个案例演示final修饰方法时的特点。Example07.java源代码4.1.4final关键字2.使用final关键字修饰方法案例的运行结果如下图所示。4.1.4final关键字3.使用final关键字修饰变量使用final关键字修饰的变量称为常量,一旦初始化后,其值就不能再改变。下面通过一个案例进行验证。Example08.java源代码4.1.4final关键字3.使用final关键字修饰变量案例的运行结果如下图所示。【案例4-1】交通工具运行模拟案例描述本案例要求设计一个交通工具运行的模拟程序,包括三种交通工具,分别为自行车、电动车和小汽车。交通工具的属性和行为如下表所示。交通工具共同特征共同行为特有方法Bicycle(自行车)1.交通工具的名称2.轮子数量3.工具颜色4.行驶速度1.行驶2.加速3.减速无ElectricBicycle(电动车)充电Car(小汽车)加油【案例4-1】交通工具运行模拟案例描述本案例要求在程序中模拟各个交通工具的行驶、充电或加油、加速、减速等行为。具体要求如下。要求各个交通工具行驶的方法中展示出交通工具的名称、轮子个数、颜色以及行驶速度。加速和减速时,可以传入参数,具象化速度的增加量和减少量。充
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026贵州贵阳市第四十二中学招聘中学教师5人考试参考题库及答案解析
- 2026广西贵港市港南区人力资源和社会保障局招聘4名编外工作人员考试备考试题及答案解析
- 2025-2026学年创意素描教学设计模板
- 2026西藏昌都市丁青县人民医院紧缺型医疗人才第三批次招聘5人考试参考题库及答案解析
- 2025-2026学年书法扇面创作教学设计
- 2026年中国建筑土木建设有限公司校园招聘笔试参考题库及答案解析
- 2026枣庄新远大装备制造有限公司省博士后创新实践基地备案单位招聘考试参考题库及答案解析
- 2026上海交通大学公共卫生学院栾洋课题组博士后招聘备考题库(综合卷)附答案详解
- 约束员工工作制度
- 纪委采购工作制度
- 加油站与货运企业供油协议样本
- 高级程序设计题库及答案
- 2026年2月1日执行的《行政执法监督条例》解读课件
- 天天刷牙课件
- 2026年高考数学复习难题速递之圆锥曲线综合(2025年11月)
- 大学生该不该创业
- DB61T 1986-2025《林木采伐技术规范》
- 2025年《城市居民委员会组织法》知识考试题库及答案解析
- 洗手液的泡泡课件
- 自闭症专业毕业论文
- 小儿颈外静脉采血课件
评论
0/150
提交评论