网站大量收购独家精品文档,联系QQ:2885784924

JAVA语言程序设计 继承性和多态性.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA语言程序设计 继承性和多态性

Java概述 第4章 继承性和多态性 主要内容 4.1 继承性 派生类的定义 super关键字 protected和final关键字 4.2 多态性 4.3 抽象类和接口 抽象类 接口 4.4 初始化块 关于继承的一些比喻 孩子必须只有一个父亲 孩子继承父亲的一切非私有的数据方法,并可以改写父亲的方法 父亲有的孩子都有了,所以孩子可以代替父亲 孩子有的,父亲不一定有,所以父亲不能代替孩子 如果父亲有愿望,儿子可以实现,也可以不实现。如果儿子是(final)类,也就是儿子不打算再生儿子,那么儿子一定要实现父亲的所有愿望。 4.1 继承性 类具有继承性,子类对父类的继承关系体现了特殊和一般的关系。 通过继承可以更有效地组织程序结构,明确类间关系,并充分利 用已有的类来完成更复杂、深入的开发。 Java中的所有类都是java.lang.Object类的子类。 子类继承父类中一切非 private 修饰的属性和方法 Public :公开的,比如父亲的名字,年龄 Protected :局部公开,比如父亲的钱,在家庭范围内公开 Private : 不公开,父亲自己要必威体育官网网址的,比如。。。 继承性 4.1.1 派生类的定义 Java语言中派生类的定义格式如下: 继承性 示例:参看例4.1 // Cylinder1.java public class Cylinder1 extends Circle { private double length = 1; // 新增的数据成员 public double getLength() { return length; } public void setLength(double length) { this.length = length; } public double findVolume() { // 返回圆柱体的体积 return findArea() * length; // findArea()是从基类Circle继承下来的方法 }   public String toString(){ // 覆盖Object类中的toString()方法 return (圆柱体的高为: + getLength() + 圆柱体的半径为: + super.getRadius());   } }? // TestCylinder1.java  public class TestCylinder1{ public static void main(String[]args){ Cylinder1 cylinder1 = new Cylinder1(); System.out.println(cylinder1.toString()); System.out.println(圆柱体的体积为: + cylinder1.findVolume()); } } 4.1.2 super关键字 1. 数据成员的隐藏 数据成员的隐藏是指在子类中重新定义一个与父类中已定义的数据成员名完全相同的数据成员,即子类拥有了两个相同名字的数据成员,一个是继承父类的,另一个是自己定义的。 当子类引用这个透明的数据成员时,默认操作时他自己定义的数据成员,父类那里继承来的数据成员被隐藏。 当子类要操作继承自父类的同名数据成员时,可使用关键字super引导。 super关键字 2. 成员方法的覆盖 子类可以重新定义与父类格式完全相同(包括方法名、方法形参的个数和类型、方法返回值的类型)的成员方法,实现对父类方法的覆盖。 只有当实例方法能被访问时,才能进行方法覆盖。私有方法不能被覆盖. 静态方法(类方法)能被继承,但不能被覆盖。如果重写,则父类的静态方法被隐藏。 子类在重新定义父类已有的方法时,应保持与父类完全相同的方法名、返回值类型和参数列表,否则就不是方法的覆盖,而是子类定义自己特有的方法,与父类的方法无关。 super关键字 3. super关键字 super表示的是当前对象的直接父类对象,是当前对象的直接父类对象的引用。 super的使用方法有三种: (1) 访问直接父类隐藏的数据成员,其使用形式如下: super.数据成员 (2) 调用直接父类中被覆盖的成员方法,其使用形式如下: super.成员方法(参数) (3) 调用直接父类的构造方法,其使用形式如下: super(参数) super关键字 示例:参看例4.2 public class Cylinder2 extends Circle{ private double length; ? public Cylinder2() { super();

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档