第4章+继承性和多态性.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下一页 上一页 返回 开始 * * * 第4章 继承性和多态性 继承性和多态性 * 主要内容 4.1 继承性 派生类的定义 super关键字 protected和final关键字 4.2 多态性 4.3 抽象类和接口 抽象类 接口 4.4 初始化块 继承性和多态性 * 4.1 继承性 类具有继承性,子类对父类的继承关系体现了特殊和 一般的关系。通过继承可以更有效地组织程序结构, 明确类间关系,并充分利用已有的类来完成更复杂、 深入的开发。 Java中的所有类都是java.lang.Object类的子类。 4.1.1 派生类的定义 Java语言中派生类的定义格式如下: class 子类 extends 唯一的父类名 { 类定义体 } 继承性和多态性 * 继承性 示例:参看例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(); length = 1.0; }? public Cylinder2(double radius, double length) { super(radius); // 调用父类的构造方法 this.length = length; }? public double getLength() { return le

文档评论(0)

xiaohuer + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档