- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java语言程序设计4章
第4章 继承和多态 计算机与信息工程分院 本次内容 一、类的继承 一、类的继承 一、类的继承 一、类的继承 一、类的继承 一、类的继承 一、类的继承 一、类的继承 一、类的继承 一、类的继承 一、类的继承 一、类的继承 一、类的继承 成员变量的隐藏 重写父类的方法 重载和重写 Super_1 Super_1续 如果子类没有包含和父类同名的属性,则子类则可以继承到父类属性。 Super_2 Super_2续 Super_2续 二、方法的多态性 二、方法的多态性 二、方法的多态性 三、抽象类和最终类 三、抽象类和最终类 三、抽象类和最终类 三、抽象类和最终类 三、抽象类和最终类 三、抽象类和最终类 三、抽象类和最终类 三、抽象类和最终类 finaldata finalmethod 四、接口 接口(interface): 更彻底的抽象(totally abstract class) 不能包含普通方法,而全部都是抽象方法 四、接口 四、接口 四、接口 四、接口 四、接口 四、接口 四、接口 Case:jiekou.java Case:Adventure.java Case:store.java 接口的定义 接口的继承 Jiekou.java 谢 谢! 计算机与信息工程分院 1、抽象类(5) public class Circle extends Shape{ public double radius; public Circle(String color , double radius) { super(color); this.radius = radius; } public double calPerimeter() {return 2 * Math.PI * radius; } public String getType() {return getColor() + 圆形; } public static void main(String[] args) { Shape s1 = new Triangle(黑色 , 3 , 4, 5); Shape s2 = new Circle(黄色 , 3); System.out.println(s1.getType()); System.out.println(s1.calPerimeter()); System.out.println(s2.getType()); System.out.println(s2.calPerimeter()); } } 调用父类(抽象类)的构造函数 重写父类的抽象方法 编译时类型和运行时类型不一样,多态发生 利用抽象类和抽象方法的优势,可更好的发挥多态的优势,使程序更加灵活。 1、抽象类(6) 抽象:从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为其子类的模板,从而避免了子类设计的随意性。 抽象类体现的是一种模板模式的设计。 2、最终类(1) 不可改变 ①final变量 表示该变量一旦获得了初始值之后就不可改变 final修饰成员变量 final修饰局部变量 不可被重写,如果出于某些原因,不希望子类重写父类的某个方法,则可以使用final修饰该方法 ②final方法 2、最终类(2) 最终类是指不能被继承的类,即不能再用最终类派生子类。例如: public final class C 如果创建最终类似乎不必要,而又想保护类中的一些方法不被覆盖,可以用关键字final来指明那些不能被子类覆盖的方法,即最终方法。 返回主菜单 ③final类 返回 class Value{ int i=1; } public class Finaldata{ final int i1=9; static final int i2=99; public static final int i3=999; final int i4=(int)(Math.random()*20); static final int i5=(int)(Math.random()*20); Value v1=new Value(); final Value v2=new Value(); static final Value v3=new Value(); final int[] a={1,2,3,4,5}; public static void main(String[] args){ final double d; d=5.6; d=3.4; } } 返回 public class FinalMethod{ } class Sub extends FinalMethod
您可能关注的文档
最近下载
- xx县中医医院纪委书记对重点岗位人员进行提醒谈话内容、范文(五点要求).doc VIP
- 2025尔雅超星当代大学生安全教育答案.docx
- 兽医处方笺模板.docx
- 机场道面混凝土施工工艺及方法.docx
- 【智慧树】【知到】形势与政策(成都工业学院)章节测试答案.docx VIP
- 东方电机150MW汽轮发电机技术介绍.ppt
- 造纸行业的职业危害与防治解决方案.ppt
- 小学科学德育教育案例Word编辑.doc VIP
- 2023-2024学年人教版化学必修第2册同步练习(解析版答案)第5章 第1节硫及其化合物 第1课时硫和二氧化硫.doc VIP
- 浙江2024年01月高考:《信息技术》考试真题与参考答案.pdf
文档评论(0)